🧩 Algorithm/[BOJ] Bronze

BOJ 5585번 : κ±°μŠ€λ¦„λˆ (Python/Bronze 2)

devCloud 2023. 2. 19. 15:51
728x90
 

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ν–‰μœΌλ‘œλ§Œ λ˜μ–΄ μžˆλ‹€. μž”λˆμ— ν¬ν•¨λœ 맀수λ₯Ό 좜λ ₯ν•˜μ‹œμ˜€.


예제 μž…λ ₯

380

예제 좜λ ₯

4

풀이

- Greedy Algorithm

Solution

n = int(input())
n = 1000 - n
cnt = 0

while n != 0:
    if n >= 500:
        n -= 500
        cnt += 1
    elif n>= 100:
        n -= 100
        cnt += 1
    elif n>= 50:
        n -= 50
        cnt += 1
    elif n >= 10:
        n -= 10
        cnt += 1
    elif n>= 5:
        n -= 5
        cnt += 1
    elif n>= 1:
        n -= 1
        cnt += 1

print(cnt)

Another Solution

a = 1000 - int(input())
b = [500, 100, 50, 10, 5, 1]
count = 0
for i in b:
    count += a // i
    a %= i
print(count)
728x90