https://school.programmers.co.kr/learn/courses/30/lessons/42626
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville) # 리스트를 힙으로 변경
while True: # 힙에 요소가 2개 이상 있는 동안 반복
min1 = heapq.heappop(scoville)
if min1 >= K: # 최소 요소가 K 이상이면 종료
return answer
if len(scoville) == 0: # K 이상으로 만들 수 없는 경우
return -1
min2 = heapq.heappop(scoville)
mix = min1 + (min2 * 2) # 섞은 스코빌 지수
heapq.heappush(scoville, mix)
answer += 1
파이썬의 heapq는 최소 힙이다.