[Programmers] λΌλ©΄κ³΅μ₯
Updated:
λΌλ©΄κ³΅μ₯
λΌλ©΄κ³΅μ₯ μ ν΄λ¦νλ©΄ λ°λ‘ μ΄λνλ€.
μ²μμ νμ μ¬μ©νμ§ μκ³ νμ΄λ³΄λ €λ€κ° κ³ μλ§ μμ² νλ€.. μ΄ λ¬Έμ λ μΌλ¨ λ¬Έμ λ₯Ό μ΄ν΄νλκ² μ€μνλ€ !
μ°μ λ¬Έμ λ₯Ό μ½κ² μ κ·Όνλ €λ©΄ λ°κ°λ£¨λ₯Ό 보μ λμ λ²νΈ μ μλ λ λ‘ λ°κΎΈμ΄ μκ°νλ©΄ μ΄ν΄κ° μ‘°κΈ λ μ κ°λ€.
κ΄ν λ°κ°λ£¨λ μ΄λ λ²νΈ μ μλ λ μ΄λ λ°λ‘ μκ°νλ€λ³΄λ μμ² ν·κ°λ Έλ€.
λ°κ°λ£¨ 보μ λμ΄ k λ³΄λ€ μμ κ²½μ° κ³μ°μ ν΅ν΄ λ°κ°λ£¨λ₯Ό 보κΈλ°μμΌ νλ€.
νμ§λ§ μ΅μνμ 보κΈμΌλ‘ λ²ν ¨μΌ νκΈ° λλ¬Έμ λ³΄κΈ λ°μ μ μλ λ μ§μμ μ΅λλμ λ³΄κΈ λ°μμΌ νλ€.
k μΌ κΉμ§ 보μ ν λ°κ°λ£¨λ‘ λ²νΈ μ μμ λ
νμ¬ λ³΄μ ν λ°κ°λ£¨ λ³΄λ€ μκ±°λ κ°μ λ μ§μ λ°μ μ μλ λͺ¨λ λ μ§ λ³ λ³΄κΈ λ°κ°λ£¨λμ νμ λ£μ΄ μ€ λ€ μ΅λκ°μ κ°μ Έμ¨λ€.
보μ ν λ°κ°λ£¨κ° 4 λΌλ©΄ λ¦μ΄λ 4μΌ λ€μλ 보κΈμ λ°μμΌ λ€μ μ΄μμ΄ κ°λ₯νκΈ° λλ¬Έμ΄λ€.
import heapq as hq
def solution(stock, dates, supplies, k):
answer = 0
start = 0
max_supply = []
flour_sum = stock
while flour_sum < k: # λ°κ°λ£¨κ° kκ° λ―Έλ§μΈ κ²½μ° λ³΄κΈλ°λλ€.
for idx in range(start, len(dates)):
if dates[idx] <= flour_sum: # λ³΄κΈ λ°μ μ μλ λ κΉμ§ 보κΈλμ μ΅λνμ λ£μ΄μ€λ€.
hq.heappush(max_supply, -supplies[idx])
else: # λ³΄κΈ λ°μ μ μλ λ λ³΄λ€ λ¨Όμ λ°μ μ μμΌλ μ’
λ£
break
start = idx # μ΄λ―Έ νμ λ£μ΄μ€ 곡κΈλμ μ€λ³΅ν΄μ λ£μ§ μλλ‘ start λ₯Ό μμ ν΄μ€λ€.
flour_sum += -hq.heappop(max_supply)
answer += 1
return answer
νμ΄μ¬μμλ μ΅μν λ°μ μ§μνμ§ μλλ€. κ·Έλ κΈ° λλ¬Έμ μ΅λνμ μ΅μνμ μμ©νλ©΄ λλ€.
νμ λ£μ΄μ£Όλ κ°μ λͺ¨λ μμλ‘ λ°κΎΈμ΄ λ£λλ€λ©΄ κ°μ₯ ν° κ°μ΄ κ°μ₯ μμ κ°μΌλ‘ λ°λμ΄ λ€μ΄κ°λ€.
λμ€μ κ°μ μ¬μ©νλ κ²½μ°μ - λ₯Ό λΆμ¬μ£Όλ©΄ λλ€.
Leave a comment