알고리즘

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

김해리 2022. 4. 17. 10:00

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

 

코딩테스트 연습 - 더 맵게

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

programmers.co.kr


모든 음식의 스코빌 지수가 K 이상이 되려면 가장 낮은 스코빌 지수가 K 이상이 되면 됩니다. 힙을 사용하여 문제에서 주어진 방법으로 음식 섞기를 반복적으로 수행합니다.

 

import heapq


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

2022.04.17 - [알고리즘] - [BOJ/Python] 1715번: 카드 정렬하기

반응형