😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[BAEKJOON C++] 2720_μ„Ένƒμ†Œ 사μž₯ λ™ν˜ λ³Έλ¬Έ

πŸ¦₯ μ½”ν…Œ/BAEKJOON

[BAEKJOON C++] 2720_μ„Ένƒμ†Œ 사μž₯ λ™ν˜

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 7. 23. 13:38
728x90
λ°˜μ‘ν˜•
미ꡭ으둜 μœ ν•™κ°„ λ™ν˜μ΄λŠ” μ„Ένƒμ†Œλ₯Ό μš΄μ˜ν•˜κ³  μžˆλ‹€. λ™ν˜μ΄λŠ” μ΅œκ·Όμ— μ•„λ₯΄λ°”μ΄νŠΈλ‘œ κ³ λ“±ν•™μƒ λ¦¬μ•”을 μ±„μš©ν–ˆλ‹€.
λ™ν˜μ΄λŠ” λ¦¬μ•”μ—κ²Œ μ‹€λ§ν–ˆλ‹€.

리암은 κ±°μŠ€λ¦„λˆμ„ μ£ΌλŠ” κ²ƒμ„ μžκΎΈ μ‹€μˆ˜ν•œλ‹€.
심지어 $0.5λ‹¬λŸ¬λ₯Ό μ€˜μ•Όν•˜λŠ” κ²½μš°μ— κ±°μŠ€λ¦„λˆμœΌλ‘œ $5λ‹¬λŸ¬λ₯Ό μ£ΌλŠ”것이닀!

μ–΄μ©”μˆ˜ μ—†μ΄ λ›°μ–΄λ‚œ μ½”λ”© μ‹€λ ₯을 λ°œνœ˜ν•΄ λ¦¬μ•”을 λ„μ™€μ£ΌλŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λ €κ³  ν•˜μ§€λ§Œ, 
λ””μ•„λΈ”λ‘œλ₯Ό ν•˜λŠλΌ μ½”λ”©ν•  μ‹œκ°„이 μ—†μ–΄μ„œ μ΄ λ¬Έμ œλ₯Ό μ½κ³  μžˆλŠ” μ—¬λŸ¬λΆ„이 λŒ€μ‹  ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.

κ±°μŠ€λ¦„λˆμ˜ μ•‘μˆ˜κ°€ μ£Όμ–΄μ§€λ©΄ λ¦¬μ•”이 μ€˜μ•Όν•  
μΏΌν„°(Quarter, $0.25)의 κ°œμˆ˜, λ‹€μž„(Dime, $0.10)의 κ°œμˆ˜, λ‹ˆμΌˆ(Nickel, $0.05)의 κ°œμˆ˜, νŽ˜λ‹ˆ(Penny, $0.01)의 κ°œμˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨
κ±°μŠ€λ¦„λˆμ€ ν•­μƒ $5.00 μ΄ν•˜μ΄κ³ , μ†λ‹˜μ΄ λ°›λŠ” λ™μ „μ˜ κ°œμˆ˜λ₯Ό μ΅œμ†Œλ‘œ ν•˜λ €κ³  ν•œλ‹€.

예λ₯Ό λ“€μ–΄, $1.24λ₯Ό 거슬러 μ£Όμ–΄μ•Ό ν•œλ‹€λ©΄, μ†λ‹˜μ€ 4μΏΌν„°, 2λ‹€μž„, 0λ‹ˆμΌˆ, 4νŽ˜λ‹ˆλ₯Ό λ°›κ²Œ λœλ‹€.
// [2720] μ„Ένƒμ†Œ 사μž₯ λ™ν˜

/*
미ꡭ으둜 μœ ν•™κ°„ λ™ν˜μ΄λŠ” μ„Ένƒμ†Œλ₯Ό μš΄μ˜ν•˜κ³  μžˆλ‹€. λ™ν˜μ΄λŠ” μ΅œκ·Όμ— μ•„λ₯΄λ°”μ΄νŠΈλ‘œ 고등학생 리암을 μ±„μš©ν–ˆλ‹€.
λ™ν˜μ΄λŠ” λ¦¬μ•”μ—κ²Œ μ‹€λ§ν–ˆλ‹€.

리암은 κ±°μŠ€λ¦„λˆμ„ μ£ΌλŠ” 것을 자꾸 μ‹€μˆ˜ν•œλ‹€.
심지어 $0.5λ‹¬λŸ¬λ₯Ό μ€˜μ•Όν•˜λŠ” κ²½μš°μ— κ±°μŠ€λ¦„λˆμœΌλ‘œ $5λ‹¬λŸ¬λ₯Ό μ£ΌλŠ”κ²ƒμ΄λ‹€!

μ–΄μ©”μˆ˜ 없이 λ›°μ–΄λ‚œ μ½”λ”© μ‹€λ ₯을 λ°œνœ˜ν•΄ 리암을 λ„μ™€μ£ΌλŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λ €κ³  ν•˜μ§€λ§Œ, 
λ””μ•„λΈ”λ‘œλ₯Ό ν•˜λŠλΌ μ½”λ”©ν•  μ‹œκ°„μ΄ μ—†μ–΄μ„œ 이 문제λ₯Ό 읽고 μžˆλŠ” μ—¬λŸ¬λΆ„μ΄ λŒ€μ‹  ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.

κ±°μŠ€λ¦„λˆμ˜ μ•‘μˆ˜κ°€ 주어지면 리암이 μ€˜μ•Όν•  
μΏΌν„°(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)

좜λ ₯
각 ν…ŒμŠ€νŠΈμΌ€μ΄μŠ€μ— λŒ€ν•΄ ν•„μš”ν•œ μΏΌν„°μ˜ 개수, λ‹€μž„μ˜ 개수, λ‹ˆμΌˆμ˜ 개수, νŽ˜λ‹ˆμ˜ 개수λ₯Ό 곡백으둜 κ΅¬λΆ„ν•˜μ—¬ 좜λ ₯ν•œλ‹€.
*/

#define _CRT_SECURE_NO_WARNINGS
// ν‘œμ€€ μŠ€νŠΈλ¦Όμ—μ„œ 읽기 및 μ“°κΈ°λ₯Ό μ œμ–΄ν•˜λŠ” 개체λ₯Ό μ„ μ–Έ
#include <iostream>
#include <algorithm>    // find
#include <string>
#include <cmath>        // abs
#include <vector>
using namespace std;

// μΏΌν„°(Quarter, $0.25)의 개수, λ‹€μž„(Dime, $0.10)의 개수, λ‹ˆμΌˆ(Nickel, $0.05)의 개수, νŽ˜λ‹ˆ(Penny, $0.01)
int arr[4] = { 25,10,5,1 };

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

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

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

728x90
λ°˜μ‘ν˜•
Comments