사용 언어 - Python3
문제 - 더 맵게
정답
import heapq (정답 맞춘 여부 X)
1. 차례대로 힙에 삽입 heappush
2. heap[0] = 가장 작은 값이 K보다 클때까지 while문을 반복해준다.
3. 계산한 값 heappush로 삽입
가장 맵지 않은 음식의 스코빌 지수 heapq.heappop(heap)
두 번째로 맵지 않은 음식의 스코빌 지수 heapq.heappop(heap)
만약 리스트가 작아서 heappop()할 게 없어서 indexError가 난다면,
-1을 return 한다.
4. 새롭게 계산한 값 개수 cnt 출력
import heapq
def solution(scoville, K):
heap = []
for i in scoville:
heapq.heappush(heap,i)
cnt = 0
while heap[0] < K:
try:
heapq.heappush(heap, heapq.heappop(heap)+heapq.heappop(heap)*2)
except IndexError:
return -1
cnt += 1
return cnt
레퍼런스
- 정답 깃허브
'Algorithm > 스택&큐&덱&힙' 카테고리의 다른 글
[프로그래머스 lv 3] 이중우선순위큐 (0) | 2023.06.19 |
---|---|
[프로그래머스 lv 3] 디스크 컨트롤러 (0) | 2023.06.19 |
우선순위 큐와 힙 (0) | 2023.06.16 |
[프로그래머스 lv1] 햄버거 만들기 (1) | 2023.05.10 |
[프로그래머스 lv 1] 카드 뭉치 (0) | 2023.04.24 |
댓글