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
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스] 자물쇠와 열쇠 (파이썬) (0) | 2022.04.23 |
---|---|
[프로그래머스] 프린터 (파이썬) (0) | 2022.04.22 |
[BOJ] 1715번: 카드 정렬하기 (파이썬) (0) | 2022.04.17 |
[BOJ] 18405번: 경쟁적 전염 (파이썬) (0) | 2022.04.16 |