[프로그래머스 파이썬] 더 맵게

일단 해볼게·2024년 2월 16일
0

프로그래머스

목록 보기
100/106

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

import heapq

def solution(scoville, K):
    answer = 0
    heapq.heapify(scoville) # 리스트를 힙으로 변경
    
    while True: # 힙에 요소가 2개 이상 있는 동안 반복
        min1 = heapq.heappop(scoville)
        
        if min1 >= K: # 최소 요소가 K 이상이면 종료
            return answer
        if len(scoville) == 0: # K 이상으로 만들 수 없는 경우
            return -1
        
        min2 = heapq.heappop(scoville)
        mix = min1 + (min2 * 2) # 섞은 스코빌 지수
        heapq.heappush(scoville, mix)
        answer += 1

파이썬의 heapq는 최소 힙이다.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글