Coding Test/백준 - JAVA

백준 2720번 세탁소 사장 동혁 (JAVA)

6uiw 2024. 12. 23. 14:50

📌문제

(요약)

거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그램을 작성하시오. 거스름돈은 항상 $5.00 이하이고, 손님이 받는 동전의 개수를 최소로 하려고 한다. 예를 들어, $1.24를 거슬러 주어야 한다면, 손님은 4쿼터, 2다임, 0니켈, 4페니를 받게 된다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 거스름돈 C를 나타내는 정수 하나로 이루어져 있다. C의 단위는 센트이다. (1달러 = 100센트) (1<=C<=500)

출력

각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다.

 

예제 입력)

3
124
25
194

 

예제 출력)

4 2 0 4
1 0 0 0
7 1 1 4

 

 

📌답

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int t = Integer.parseInt(br.readLine());
        int c = 0;
        int[] ch = new int[8];
        ch[0] = 25; ch[1] = 10; ch[2] = 5; ch[3] = 1; 
        for(int i = 0; i<t; i++) {
            c = Integer.parseInt(br.readLine()); 

                ch[4] = c / ch[0]; 
                c = c % ch[0];
                ch[5] = c / ch[1];
                c = c % ch[1];
                ch[6] = c / ch[2];
                c = c % ch[2];
                ch[7] = c;
            sb.append(ch[4]+ " " + ch[5]+ " " + ch[6]+" " + ch[7] +"\n");
            }
        System.out.println(sb);
        }
    }

 

 

 

 

 

끝까지 읽어주셔서 감사합니다 :)

Have a good day🐱

 


📢

1. 개발자 준비생이 공부한 내용을 정리한 글입니다. 내용에 오류가 있을 수 있습니다.
2. 위와 같은 이유로 내용에 대한 지적과 조언은 감사하게 받습니다.
3. 이 글의 내용은 계속 공부함으로써 언제든지 추가/수정 될 수 있습니다.