알고리즘/문제풀이
[Python] Programmers 더 맵게
정찡이
2021. 10. 10. 20:52
728x90
1. 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42626
코딩테스트 연습 - 더 맵게
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같
programmers.co.kr
2. 문제 요약
가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) 구하여 K 이상 음식 만들기

3. 아이디어 정리
- heapq를 이용하여 최소 힙 구한다.
4. 문제 풀이
4-1. 내 풀이
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville)
while scoville[0] < K:
try:
first = heapq.heappop(scoville)
second = heapq.heappop(scoville)
heapq.heappush(scoville, first + (second * 2))
except IndexError:
return -1
answer += 1
return answer
5. 결론
- 우선순위 큐 이용하기
반응형