본문 바로가기
알고리즘/문제풀이

[JAVA]백준 - 5585.거스름돈

by 겅아링 2020. 9. 12.
반응형

www.acmicpc.net/problem/5585

 

5585번: 거스름돈

타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사�

www.acmicpc.net

 

 

 

 

 

 

 

풀이 > 

price=1000-입력받은값;
price를 500 으로 나누면 몫인 1만 출력. 
price % 500 으로 500원단위를 뺀 나머지값을 다음 잔돈으로 나누기.
1엔까지 반복

다른 풀이:
배열에 잔돈을 저장한후 반복문으로 처리
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;


public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		int price = Integer.parseInt(br.readLine());
		int change = 1000 - price;
		int result = (change / 500) 
				+ (change % 500 / 100) 
				+ (change % 500 % 100 / 50) 
				+ (change  % 500 % 100 % 50 / 10)
				+ (change  % 500 % 100 % 50 % 10 / 5) 
				+ (change  % 500 % 100 % 50 % 10 % 5 / 1);

		bw.write(String.valueOf(result));
		bw.flush();
	}
}
반응형