파이썬 알고리즘-87 (프로그래머스) 더 맵게

2867 단어 algorithmalgorithm

코드

import heapq as hq
def solution(scoville, K):
    answer = 0
    # 리스트를 힙으로 만들어준다
    hq.heapify(scoville)
    while len(scoville)>1:
    	# 모든 원소가 K보다 크면 끝. 그런데 first가 K보다 크기만 해도 break 하면 될 것 같다
        if all(i>=K for i in scoville):
            break
        first=hq.heappop(scoville)
        second=hq.heappop(scoville)
        new=first+(second*2)
        hq.heappush(scoville,new)
        answer+=1
    if scoville[0]<K:
        return -1
    return answer

좋은 웹페이지 즐겨찾기