문제 이해
우리나라 돈으로 이해해보자. 만약 1350원이 있으면, 1350을 500으로 나눈 몫이 2이므로 500원짜리는 2개를 거슬러줄 것이고, 나머지 350은 다음 단위인 100으로 나눈 몫으로..그 나머지는 그 다음 단위로.. 이런식으로 나가면 된다.
그리고 이 문제에서는 그 몫을 차례대로 출력하면 된다.
문제 해결
우선 테스트 케이스와를 입력받을 스캐너 객체를 생성해주고, 각각 거스름돈의 단위 변수를 만들어준다.
Scanner in = new Scanner(System.in);
int c = in.nextInt();
int q = 25;
int d = 10;
int n = 5;
int p = 1;
테스트 케이스의 개수만큼 반복할 반복문을 만들어준다.
돈을 입력받고, 큰 단위부터 나누어 몫을 출력시킨 후 나머지를 money 변수에 저장시켜 갱신하고 이를 반복한다.
for(int i = 0; i < c; i++) {
int money = in.nextInt();
System.out.print(money / q + " ");
money %= q;
System.out.print(money / d + " ");
money %= d;
System.out.print(money / n + " ");
money %= n;
System.out.print(money / p + " ");
}
아주 아주 간단한 문제였다!
최종 코드
import java.util.Scanner;
public class Change {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int c = in.nextInt();
int q = 25;
int d = 10;
int n = 5;
int p = 1;
for(int i = 0; i < c; i++) {
int money = in.nextInt();
System.out.print(money / q + " ");
money %= q;
System.out.print(money / d + " ");
money %= d;
System.out.print(money / n + " ");
money %= n;
System.out.print(money / p + " ");
}
in.close();
}
}
반응형
'백준 문제 풀이 > 일반 수학 1' 카테고리의 다른 글
(#2903 Java) 중앙 이동 알고리즘 (0) | 2024.02.27 |
---|---|
(#11005 Java) 진법 변환 2 (1) | 2024.02.26 |
(#2745 Java) 진법 변환 (0) | 2024.02.26 |