programmers.co.kr/learn/courses/30/lessons/42626
import heapq
def solution(scoville, K):
queue = []
[heapq.heappush(queue, x) for x in scoville]
cnt = 0
while True:
f = heapq.heappop(queue)
s = heapq.heappop(queue)
heapq.heappush(queue, f + (s * 2))
cnt += 1
if all(x > K for x in queue):
break
if len(queue) == 1:
return -1
return cnt
res = solution([1, 2, 3, 9, 10, 12], 7)
print(res)
'programmers 알고리즘 > 구현' 카테고리의 다른 글
42627번: 디스크컨트롤러 (힙) (0) | 2020.11.05 |
---|---|
42587번: 프린터 (0) | 2020.11.04 |
42583번: 다리를 지나는 트럭 (0) | 2020.11.04 |
기능개발 (스택/큐) (0) | 2020.11.04 |
주식가격 (스택/큐) (0) | 2020.11.03 |