JAVA/Coding Test

[JAVA] 백준 2720 세탁소 사장 동혁_일반 수학1

오늘도개발 2023. 4. 13. 10:28

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

 

2720번: 세탁소 사장 동혁

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

www.acmicpc.net

 

 접근 :

 

 - 테스트 갯수 T를 입력받는다.

 

 - 입력 받은 금액을 동전으로 변환한다.

 

 -  가장 큰 금액의 동전 단위 부터 가능한 최대의 갯수를 카운트하고 동전으로 바꾼 금액 만큼 뺀다.

 

 - 변환된 동전의 갯수를 화면에 출력한다.

 

 코드 구현 : 

 

import java.io.*;

public class Main {

	// 입력받은 금액을 동전으로 변환
	static class CalculateToCoin {
		private int change;

		public CalculateToCoin() {

		}

		public void setChange(int change) {
			this.change = change;
		}

		public String countToCoin() {
			StringBuilder sb = new StringBuilder();
			int temp = this.change;
			int[] coin_nums = new int[4];

			coin_nums[0] = temp / 25;
			temp -= coin_nums[0] * 25;

			coin_nums[1] = temp / 10;
			temp -= coin_nums[1] * 10;

			coin_nums[2] = temp / 5;
			temp -= coin_nums[2] * 5;

			coin_nums[3] = temp / 1;
			temp -= coin_nums[3] * 1;

			for (int i = 0; i < coin_nums.length; i++) {
				sb.append(coin_nums[i]).append(" ");
			}

			return sb.toString();
		}

	}

	public static void main(String[] srgs) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());

		CalculateToCoin ct = new CalculateToCoin();

		for (int i = 0; i < n; i++) {
			ct.setChange(Integer.parseInt(br.readLine()));
			System.out.println(ct.countToCoin());
		}

		br.close();
	}
}