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)'π§© Algorithm > [BOJ] Bronze' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| BOJ 25314λ² : μ½λ©μ 체μ‘κ³Όλͺ© μ λλ€ (Python/Bronze 5) (0) | 2023.03.24 |
|---|---|
| BOJ 2851λ² : μνΌ λ§λ¦¬μ€ (Python/Bronze 1) (0) | 2023.03.21 |
| BOJ 2693λ² : Nλ²μ§Έ ν° (Python/Bronze 1) (0) | 2023.02.09 |
| BOJ 2592λ² : λνκ° (Python/Bronze 2) (0) | 2023.02.09 |
| BOJ 1037λ² : μ½μ (Java/Bronze 1) (0) | 2023.02.09 |