https://www.acmicpc.net/problem/5585
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. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 10818번 - 최소, 최대 [Java] (0) | 2024.12.31 |
---|---|
[백준] 10813번 - 공 바꾸기 [Java] (0) | 2024.12.31 |
[백준] 9498번 - 시험 성적 [Java] (0) | 2024.12.31 |
[백준] 7891번 - Can you add this? [Java] (0) | 2024.12.31 |
[백준] 4101번 - 크냐? [Java] (0) | 2024.12.31 |