[BOJ] 5585번 | κ±°μŠ€λ¦„λˆ (Python3)

2022. 7. 13. 18:17ㆍCoding Test/BOJ

πŸ”—λ¬Έμ œ λ³΄λŸ¬κ°€κΈ°
 

5585번: κ±°μŠ€λ¦„λˆ

νƒ€λ‘œλŠ” 자주 JOIμž‘ν™”μ μ—μ„œ 물건을 μ‚°λ‹€. JOIμž‘ν™”μ μ—λŠ” μž”λˆμœΌλ‘œ 500μ—”, 100μ—”, 50μ—”, 10μ—”, 5μ—”, 1엔이 μΆ©λΆ„νžˆ 있고, μ–Έμ œλ‚˜ κ±°μŠ€λ¦„λˆ κ°œμˆ˜κ°€ κ°€μž₯ 적게 μž”λˆμ„ μ€€λ‹€. νƒ€λ‘œκ°€ JOIμž‘ν™”μ μ—μ„œ 물건을 사

www.acmicpc.net

 

 

문제 μ„€λͺ…

νƒ€λ‘œλŠ” μžμ£Ό JOIμž‘ν™”μ μ—μ„œ λ¬Όκ±΄μ„ μ‚°λ‹€. JOIμž‘ν™”μ μ—λŠ” μž”λˆμœΌλ‘œ 500μ—”, 100μ—”, 50μ—”, 10μ—”, 5μ—”, 1엔이 μΆ©λΆ„νžˆ μžˆκ³ , μ–Έμ œλ‚˜ κ±°μŠ€λ¦„λˆ κ°œμˆ˜κ°€ κ°€μž₯ μ κ²Œ μž”λˆμ„ μ€€λ‹€. νƒ€λ‘œκ°€ JOIμž‘ν™”μ μ—μ„œ λ¬Όκ±΄μ„ μ‚¬κ³  μΉ΄μš΄ν„°μ—μ„œ 1000μ—” μ§€νλ₯Ό ν•œμž₯ λƒˆμ„ λ•Œ, λ°›μ„ μž”λˆμ— ν¬ν•¨λœ μž”λˆμ˜ κ°œμˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 


μž…λ ₯

μž…λ ₯은 ν•œμ€„λ‘œ μ΄λ£¨μ–΄μ Έμžˆκ³ , νƒ€λ‘œκ°€ μ§€λΆˆν•  λˆ(1 μ΄μƒ 1000미만의 μ •μˆ˜) 1κ°œκ°€ μ“°μ—¬μ Έμžˆλ‹€.

 


좜λ ₯

μ œμΆœν•  좜λ ₯ νŒŒμΌμ€ 1ν–‰μœΌλ‘œλ§Œ λ˜μ–΄ μžˆλ‹€. μž”λˆμ— ν¬ν•¨λœ 맀수λ₯Ό 좜λ ₯ν•˜μ‹œμ˜€.

 


예제 μž…μΆœλ ₯

 


풀이 μ „λž΅

그리디(Greedy) μ•Œκ³ λ¦¬μ¦˜ 쀑에 λŒ€ν‘œμ μΈ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€.

λ™μ „λ“€μ˜ κ°€μΉ˜κ°€ λ°°μˆ˜ κ΄€κ³„에 μžˆκΈ° λ•Œλ¬Έμ— κ°€μž₯ ν° λ™μ „λΆ€ν„° κ±°μŠ¬λŸ¬μ£Όλ©΄ λ©λ‹ˆλ‹€.

 


μ†ŒμŠ€ μ½”λ“œ 및 κ²°κ³Ό

coins = [500, 100, 50, 10, 5, 1]

payMoney = int(input())
change = 1000 - payMoney
moneyCount = 0

for coin in coins:
    if change >= coin:
        moneyCount += change // coin
        change %= coin
    
print(moneyCount)

 

μ²˜μŒμ— ν‹€λ €μ„œ μ™œ 틀렸지 ν–ˆλŠ”λ°, 5μ—” 동전 ν•˜λ‚˜λ₯Ό λΉΌμ—ˆμ—ˆλ„€μš”. μ € 같은 μ‹€μˆ˜λŠ” ν•˜μ§€ λ§ˆμ„Έμš”.

 

728x90
λ°˜μ‘ν˜•