[Level2] 더 맵게

Quesuemon·2021년 3월 25일
0

코딩테스트 준비

목록 보기
7/111

🛠 문제

https://programmers.co.kr/learn/courses/30/lessons/42626


👩🏻‍💻 해결 방법

최소힙(가장 작은값은 언제나 인덱스 0에 저장) 사용을 위해 heapq 모듈을 사용했다
heapify를 통해 리스트를 힙으로 변형하여 쉽게 문제를 해결했다

소스 코드

import heapq
def solution(scoville, K):
    heapq.heapify(scoville)
    count = 0
    while scoville[0] < K:
        if len(scoville) > 1:
            heapq.heappush(scoville, heapq.heappop(scoville) + (heapq.heappop(scoville)*2))
            count += 1
        else:
            return -1

    return count

0개의 댓글