import heapq # 힙을 쓰기 위한 힙 라이브러리
def solution(scoville, K):
answer = 0
heapq.heapify(scoville) # 기존 배열을 힙구조로 변환
while True:
result = heapq.heappop(scoville) # 힙에서 결과를 출력해서
if not scoville: # 힙에 더 이상 음식이 없다면 종료
break
if result < K: # 꺼낸 음식이 기준보다 작을경우
result2 = heapq.heappop(scoville) # 그 다음으로 매운 음식을 가져온다.
mix_result = result + (result2 * 2) # 계산식으로 결과 값을 만들어준다.
heapq.heappush(scoville, mix_result) # 힙에 넣는다.
answer += 1 # 카운트 1증가
else: # 힙에서 꺼낸 최솟값이 기준 이상일 경우 종료
break
if result < K: # 만약에 결과가 기준보다 낮을경우 (아무리 해도 전부 만들 수 없는 경우) -1 반환
return -1
else: # 아니면 카운트 반환
return answer
힙 문제였다.