계속 정렬된 상태를 유지하는 자료형을 떠올려야 한다. 그러므로 힙큐를 사용해야 한다.
import heapq
def solution(scoville, K):
heapq.heapify(scoville)
cnt= 0
while scoville[0]<K:
if len(scoville) <2:
return -1
small1 = heapq.heappop(scoville)
small2 = heapq.heappop(scoville)
heapq.heappush(scoville, small1 + small2*2)
cnt+=1
return cnt
힙큐에 대한 이해가 부족하다고 생각했다. 힙큐를 써야한다는 것을 알았지만 코드에서 사용하는 방법을 몰랐다. 힙큐에 관한 내용을 정리해야 할 것 같다.