[프로그래머스][python] 더

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

프로그램 제작자

코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.

Programmer.co.kr

암호

import heapq 

def solution(scoville, K):
    answer = 0
    heapq.heapify(scoville)
    
    while any(K > i for i in scoville):
        if len(scoville) <= 1:
            return -1
        low = heapq.heappop(scoville)
        second_low =heapq.heappop(scoville)
        total = low + second_low * 2
        heapq.heappush(scoville, total)
        answer += 1
        
    return answer

힙 데이터 구조를 사용하여 시간복잡도를 줄이고 스코빌은 계속 쌓이는데 원소가 하나만 남고 k보다 작으면 예외적으로 -1을 리턴하도록 했습니다!