코딩테스트
[파이썬] 더 맵게 - 힙(Heap) [CODING TEST #54]
ALTERww
2022. 8. 16. 17:29
320x100
https://school.programmers.co.kr/learn/courses/30/lessons/42626
heapq 모듈로 힙을 만들어서 구현했다.
scoville 리스트를 최소 힙으로 만들고 최솟값이 K 이상이 될 때까지 섞기를 반복했다.
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville) # minheap
while scoville[0] < K : # 최솟값이 K보다 작을 때
if len(scoville) == 1: # -1 조건
return -1
min_1 = heapq.heappop(scoville)
min_2 = heapq.heappop(scoville)
heapq.heappush(scoville,min_1 + min_2 * 2)
answer += 1
return answer