[프로그래머스 Lv.2] 더 맵게 (Python)

지윤·2023년 6월 6일

👩🏻‍💻

문제에서 힙을 써야한다고 힌트를 주고있다. 게다가 스코빌 올리는 공식도 알려주고 있기 때문에 주어진 조건과 힙만 잘 사용한다면 쉽게 풀 수 있다.(이렇게 적었지만 예외처리 안해서 삽질한 사람 저요...) 코드를 짧게 작성하고 싶어서 아래처럼 구현하였지만 가독성을 신경 쓴다면 수정해야 될 것 같다 😅

코드

from heapq import heapify, heappush, heappop

def solution(scoville, K):
    answer = 0
    heapify(scoville)
    
    while scoville[0] < K:
        
        if len(scoville) <= 2 and (scoville[0]+scoville[1]*2) < K:
            return -1
        
        heappush(scoville, heappop(scoville)+(heappop(scoville)*2))
        answer += 1
        
    return answer
profile
떠돌이 컴공

0개의 댓글