본문 바로가기
백준 문제 풀이/일반 수학 1

(#2720 Java) 세탁소 사장 동혁

by _비니_ 2024. 2. 27.

 

문제 이해

 

우리나라 돈으로 이해해보자. 만약 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