Ch3 Greedy 3-1
π 그리λ (Greedy) μκ³ λ¦¬μ¦
βνμ¬ μν©μμ μ§κΈ λΉμ₯ μ’μ κ²λ§ κ³ λ₯΄λ λ°©λ²β
λ§€ μκ° κ°μ₯ μ’μ보μ΄λ κ²μ μ ν β νμ¬μ μ νμ΄ λμ€μ λ―ΈμΉ μν₯μ κ³ λ € μν¨
βμ¬μ μ μΈμ°κ³ μμ§ μμλ ν μ μμ κ°λ₯μ±μ΄ λμ λ¬Έμ μ νβ
μ λ ¬, μ΅λ¨ κ²½λ‘ λ±μ μκ³ λ¦¬μ¦ μ νμ μ¬μ© λ°©λ²μ μ νν μκ³ μμ΄μΌ ν¨
- 그리λ μκ³ λ¦¬μ¦μ λ€μ΅μ€νΈλΌ μκ³ λ¦¬μ¦κ³Ό κ°μ νΉμ΄ μΌμ΄μ€λ₯Ό μ μΈνκ³ λ λ¨μ μκΈ°λ₯Ό ν΅ν΄ λμ²νκΈ΄ μ΄λ ΅
- βμ°½μλ ₯βΒ μꡬνλ λ¬Έμ μ ν β λ¬Έμ λ₯Ό νκΈ° μν μ΅μνμ μμ΄λμ΄λ₯Ό λ μ¬λ¦΄ μ μλ λ₯λ ₯ μꡬ
- λ¬Έμ μμ βκ°μ₯ ν° μμλλ‘β, βκ°μ₯ μμ μμλλ‘β κ°μ κΈ°μ€μ μκ² λͺ¨λ₯΄κ² μ μ
- λ체λ‘Β μ λ ¬ μκ³ λ¦¬μ¦κ³Ό μ§μ μ΄λ€ μΆμ λ¨
π [μμ 1] κ±°μ€λ¦λ
- νμ΄μκ° : 15λΆ
- λ¬Έμ νμ΄
[λ¬Έμ ]
λΉμ μ μμμ μ κ³μ°μ λμμ£Όλ μ μμ΄λ€. μΉ΄μ΄ν°μλ κ±°μ€λ¦λμΌλ‘ μ¬μ©ν 500μ, 100μ, 50μ, 10μμ§λ¦¬ λμ μ΄ λ¬΄νν μ‘΄μ¬νλ€κ³ κ°μ νλ€. μλμκ² κ±°μ¬λ¬ μ€μΌ ν λμ΄ NμμΌ λ κ±°μ¬λ¬μ€μΌ ν λμ μ μ΅μ κ°μλ₯Ό ꡬνλΌ. λ¨, κ±°μ¬λ¬ μ€μΌ ν λ Nμ νμ 10μ λ°°μμ΄λ€.
n = 1260
count = 0
# ν° λ¨μμ ννλΆν° μ°¨λ‘λλ‘ νμΈlist = [500, 100, 50, 10]
for coin in list:
count += n // coin# ν΄λΉ ννλ‘ κ±°μ¬λ¬ μ€ μ μλ λμ μ κ°μ μΈκΈ°
n %= coin
print(count)
ννμ μ’ λ₯λ§νΌ λ°λ³΅μ μν =>Β μκ° λ³΅μ‘λΒ O(K)
μ΄ μκ³ λ¦¬μ¦μ μκ° λ³΅μ‘λλΒ λμ μ μ΄ μ’ λ₯μλ§ μν₯μ λ°κ³ Β κ±°μ¬λ¬ μ€μΌ νλ κΈμ‘μ ν¬κΈ°μλ 무κ΄νλ€λ κ²μ μ μ μλ€.
- μ λΉμ± νμΈ
κ°μ§κ³ μλ λμ μ€μμΒ κ°μ₯ ν° λ¨μκ° νμ μμ λ¨μμ λ°°μμ΄λ―λ‘ μμ λ¨μμ λμ λ€μ μ’ ν©ν΄ λ€λ₯Έ ν΄κ° λμ¬ μ μλ€.
λ§μ½ μλ‘ λ°°μννκ° μλλΌ λ¬΄μμλ‘ μ£Όμ΄μ§ κ²½μ° κ·Έλ¦¬λμκ³ λ¦¬μ¦μΌλ‘ ν΄κ²° X => λ€μ΄λλ―Ή νλ‘κ·Έλλ°μΌλ‘ ν΄κ²°
ex) ννλ¨μκ° 500, 400, 100 μ΄κ³ 800μμ κ±°μ¬λ¬ μ€μΌν¨.
- 그리λ μκ³ λ¦¬μ¦μΌλ‘ νμμ λ : 500μ + 100μ + 100μ + 100μ
- μ΅μ μ ν΄ : 400μ + 400μ
λκΈλ¨κΈ°κΈ°