πŸ’  Cpp/[BOJ] λ‹¨κ³„λ³„λ‘œ 풀어보기

[BOJ][C++] λ°±μ€€ 2720번: μ„Ένƒμ†Œ 사μž₯ λ™ν˜ (Bronze III)

선달 2024. 12. 25. 02:16
λ°˜μ‘ν˜•

문제

미ꡭ으둜 μœ ν•™κ°„ λ™ν˜μ΄λŠ” μ„Ένƒμ†Œλ₯Ό μš΄μ˜ν•˜κ³  μžˆλ‹€. λ™ν˜μ΄λŠ” μ΅œκ·Όμ— μ•„λ₯΄λ°”μ΄νŠΈλ‘œ 고등학생 리암을 μ±„μš©ν–ˆλ‹€.
λ™ν˜μ΄λŠ” λ¦¬μ•”μ—κ²Œ μ‹€λ§ν–ˆλ‹€.
리암은 κ±°μŠ€λ¦„λˆμ„ μ£ΌλŠ” 것을 자꾸 μ‹€μˆ˜ν•œλ‹€.
심지어 \$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)

좜λ ₯

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

 

풀이

// 풀이 : https://whkakrkr.tistory.com

#include <iostream>
#include <vector>

using namespace std;

vector<int> solution(int c) {
    int quarter = c/25;
    c %= 25;
    int dime = c/10;
    c %= 10;
    int nickel = c/5;
    c %= 5;
    int penny = c;
    
    return {quarter, dime, nickel, penny};
}

int main() {
    ios_base::sync_with_stdio(false);
	cout.tie(NULL);
	cin.tie(NULL);
	
	int t,c, ans;
	cin >> t;
	while(t--) {
	    cin >> c;
	    vector<int> ans = solution(c);
	    for(int i : ans) {
	        cout << i << " ";
	    }
	    cout << "\n";
	}
	
    return 0;
}
λ°˜μ‘ν˜•