Algorithms/Heap
Programmers - 라면공장 [파이썬]
Louisus
2020. 5. 13. 21:14
728x90
출처:
https://programmers.co.kr/learn/courses/30/lessons/42629
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
라면 공장에서는 운송비를 줄이기 위해 최소한의 횟수로 밀가루를 공급받고 싶습니다.
stock 값을 빼는 것이 아님!! 최대 공급량을 가진 날짜 순으로 공급을 받아야 함!
-----------
import heapq
def solution(stock, dates, supplies, k):
answer = 0
idx = 0
heap = []
while stock < k:
for i in range(idx, len(dates)):
# 바닥나는 경우X
if stock < dates[i]:
break
heapq.heappush(heap,-supplies[i])
idx = i + 1
stock += heapq.heappop(heap)*(-1)
answer += 1
return answer