본문 바로가기

알고리즘/Programmers

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

solution

힙 이용한 기본 문제 같다..

 

import heapq

def solution(scoville, K):
    heapq.heapify(scoville)
    cnt = 0
    while scoville[0] < K:
        if len(scoville) < 2:   # 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우
            return -1
        temp1 = heapq.heappop(scoville)
        temp2 = heapq.heappop(scoville)
        heapq.heappush(scoville, temp1+temp2*2)
        cnt += 1
        
    return cnt
    

 

문제 출처 programmers.co.kr/learn/courses/30/lessons/42626

 

코딩테스트 연습 - 더 맵게

매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같

programmers.co.kr