본문 바로가기
코딩테스트 준비/백준

[백준] 5585번 - 거스름돈 [Java]

by mwzz6 2024. 12. 31.

https://www.acmicpc.net/problem/5585

 

[백준] 5585번 - 거스름돈 [Java]


1.  아이디어

 

나눗셈 연산과 모듈러 연산으로 잔돈의 개수를 구할 수 있다.


2. 문제풀이

 

돈의 액면가가 클수록 잔돈의 개수가 최소가 된다.

나눗셈의 몫으로 해당 돈으로 받을 수 있는 개수를 알 수 있으므로 이를 큰 돈부터 순서대로 작성해서 간단하게 해결할 수 있다.


3. 코드

 

import java.io.*;

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

        int change = 1000 - Integer.parseInt(br.readLine());

        int cnt = (change / 500) + (change % 500 / 100) + (change % 100 / 50) + (change % 50 / 10) + (change % 10 / 5) + (change % 5);

        System.out.println(cnt);
    }
}

4. 후기