[Programmers] μμ°
https://school.programmers.co.kr/learn/courses/30/lessons/12982
νλ‘κ·Έλλ¨Έμ€
μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ λ§€μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ.
programmers.co.kr
λ¬Έμ μ€λͺ
Sμ¬μμλ κ° λΆμμ νμν λ¬Όνμ μ§μν΄ μ£ΌκΈ° μν΄ λΆμλ³λ‘ λ¬Όνμ ꡬ맀νλλ° νμν κΈμ‘μ μ‘°μ¬νμ΅λλ€. κ·Έλ¬λ, μ 체 μμ°μ΄ μ ν΄μ Έ μκΈ° λλ¬Έμ λͺ¨λ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μλ μμ΅λλ€. κ·Έλμ μ΅λν λ§μ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μ μλλ‘ νλ €κ³ ν©λλ€.
λ¬Όνμ κ΅¬λ§€ν΄ μ€ λλ κ° λΆμκ° μ μ²ν κΈμ‘λ§νΌμ λͺ¨λ μ§μν΄ μ€μΌ ν©λλ€. μλ₯Ό λ€μ΄ 1,000μμ μ μ²ν λΆμμλ μ νν 1,000μμ μ§μν΄μΌ νλ©°, 1,000μλ³΄λ€ μ μ κΈμ‘μ μ§μν΄ μ€ μλ μμ΅λλ€.
λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄ dμ μμ° budgetμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ΅λ λͺ κ°μ λΆμμ λ¬Όνμ μ§μν μ μλμ§ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν- dλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄μ΄λ©°, κΈΈμ΄(μ 체 λΆμμ κ°μ)λ 1 μ΄μ 100 μ΄νμ λλ€.
- dμ κ° μμλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ λνλ΄λ©°, λΆμλ³ μ μ² κΈμ‘μ 1 μ΄μ 100,000 μ΄νμ μμ°μμ λλ€.
- budgetμ μμ°μ λνλ΄λ©°, 1 μ΄μ 10,000,000 μ΄νμ μμ°μμ λλ€.
Write Up
μ²μ μ΅λ λͺ κ° λΆμμ μ§μν μ μλμ§, λμ€μ κ·Έ λΆμμ κ°μλ₯Ό λ°ννκΈ° μ¬μ°λ €λ©΄ popμ μ¬μ©νλ©΄ μ’μ κ² κ°λ€λ μκ°μ΄ λ€μλ€.
κ·Έλ¦¬κ³ μ΅λν κΈμ‘μ΄ μ μ λΆμκ° λ§μμΌ ν νΈλ¦¬μ€μ²λΌ μ¬λ¬κ³³μ μ½μ½ λ€μ΄κ° μ μκΈ° λλ¬Έμ μ λ ¬μ ν΄μ£Όμλ€.
(λ§μ½ μμ°μ΄ 5μΈ λΆμκ° μλ€λ©΄, μ΄ λΆμλ³΄λ¨ 1,1,1,1,1μΈ λΆμκ° λ λ§μ΄ μ§μν΄μ€ μ μμΌλκΉ !)
def solution(d, budget):
d.sort()
while sum(d) > budget:
d.pop()
return len(d)
μ΄κ² λ§λ νμ΄μΈμ§ λ€λ₯Έ μ¬λμ μ½λλ λ΄€λλ° μ΄ νμ΄κ° λ§μ΄ λ±μ₯ν΄μ ν볡π
μ²μλΆν° popμ μκ°νλ€λ κ²μ΄ λ¬Έμ λ₯Ό 빨리 ν μ μμλ μ΄μ μλ κ² κ°λΉ