[Python][프로그래머스][Level2] 더 맵게

[Python][프로그래머스][Level2] 더 맵게

코드

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

힙을 활용해 풀었다.

가장 스코빌 지수가 작은 2개를 가져와서 더해준 다음에 다시 집어 넣었다.

가장 작은 스코빌 지수가 K보다 크거나 같으면 종료되고

스코빌 지수를 가진 음식이 한 개가 남으면 불가능한 상황이라 -1을 반환한다.

Discussion and feedback