백준 2720 : 세탁소 사장 동혁

혀니앤·2022년 1월 15일
0

C++ 알고리즘

목록 보기
91/118

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

1. 접근

  • 결국 다른 거스름돈 문제와 비슷하지만, 차이점은 단위를 쿼터, 다임으로 사용하여 0.25달러, 0.1달러처럼 표기한다는 것이다.
  • 이 경우, 다른 문제를 풀듯이 돈을 단위로 나누게되면 값이 더 커져버리는 문제가 생긴다.
  • 그러나 입력에서 거스름돈을 센트 단위로 제공하고, 1달러가 100센트라고 되어있으므로, 주어진 단위를 다시 센트로 변환해보면 결국 25센트, 10센트, 5센트, 1센트가 되어 간단해진다.
  • 따라서, 거스름돈을 단위로 나눈 각 값을 바로바로 출력해주면 된다.

2. 나의 풀이

#include <iostream>
using namespace std;

int arr[4] = { 25,10,5,1 };

int main() {
	int t;
	cin >> t;

	for (int i = 0; i < t; i++) {
		int change;
		cin >> change;

		for (int j = 0; j < 4; j++) {
			int count = change / arr[j];
			change -= (change / arr[j]) * arr[j];
			cout << count << " ";
		}
		cout << "\n";

	}
	return 0;
} 
profile
일단 시작하기

0개의 댓글