본문 바로가기
코딩테스트

[파이썬] 더 맵게 - 힙(Heap) [CODING TEST #54]

by ALTERww 2022. 8. 16.
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

 

 

 

 

댓글