문제설명

 

소스코드

#include <iostream>
using namespace std;
int main() 
{
	int T; int Q; int D; int N; int P;
	cin >> T;
	int* arr = new int[T];
	for (int i = 0; i < T; ++i)
	{
		cin >> arr[i];
		Q = arr[i] / 25;
		P = arr[i] % 25;
		D = P / 10;
		P %= 10;
		N = P / 5;
		P %= 5;
		cout << Q << " " << D << " " << N << " " << P << endl;
	}
}

 

풀이

  • 거스름 돈의 최대값은 5달러이다. 또한 거스름돈의 달러는 센트이다.(1센트 = 0.01달러)
  • 쿼터는 25센트, 다임은 10센트, 니켈은 5센트, 페니는 1센트이다.
  • 거스름돈에서 각 동전의 단위를 나눈 후 몫(/)은 각 동전 변수에, 나머지(%)는 페니 변수에 대입한다.
  • 쿼터 -> 다임 -> 니켈까지 구했다면 페니에 들어가야할 값은 이미 구해졌으므로 그대로 출력한다.