자바/백준

[백준 2720] 세탁소 사장 동혁 - 자바(Java)

Jakorithm 2023. 12. 2. 00:29
728x90

문제

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

 

2720번: 세탁소 사장 동혁

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

www.acmicpc.net

 

 

코드

첫 번째 줄에 테스트 케이스의 개수 t가 주어지고, 각 테스트 케이스는 거스름돈 c를 나타내는 정수로 입력받는다. 이때 동전의 개수를 최소로 하는 각 동전의 개수를 출력하는 문제다.

  • 1 <= C <= 500
  • 거스름돈 단위 : 25, 10, 5, 1
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));
        int t = Integer.parseInt(br.readLine());
        int[] change = {25, 10, 5, 1};
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < t; i++) {
            int c = Integer.parseInt(br.readLine());

            for (int j = 0; j < change.length; j++) {
                sb.append(c / change[j]).append(" ");
                c %= change[j];
            }
            sb.append("\n");
        }

        System.out.print(sb);
    }
}
  • 테스트 케이스 t를 입력받아 테스트 케이스의 개수만큼 반복하여 문제를 해결한다.
  • 거스름돈을 나타내는 배열 change를 초기화하고, 결과를 담을 StringBuilder 인스턴스를 생성한다.
  • 첫 번째 반복문에서 거스름돈 c를 입력받아 배열 change의 길이만큼 순회하여 거스름돈의 각 동전 개수를 계산한다.
  • 거스름돈 c를 change 배열의 동전 단위로 나눈 값을 결과를 담을 sb에 추가하고, c는 동전 단위로 나눈 나머지로 수정한다.
728x90