*문제 출처는 프로그래머스에 있습니다.
문제 제목: 더 맵게 (2단계)
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/42626
문제 설명
나의 풀이
import heapq
def solution(scoville, K):
heap = []
for i in scoville:
heap.append(i)
heap.sort()
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
※ 알아야 할 것
힙을 사용하더라도 기본 오브젝트는 list형태이다.
heap = []
for i in scoville:
heapq.heappush(heap, i)
이렇게 사용하면 heap을 자동으로 오름차순으로 정리해줘서 sort()를 할 필요가 없다.
'코딩테스트(프로그래머스 & 백준) > 프로그래머스-Python' 카테고리의 다른 글
Programmers / 주차 요금 계산 / Python (0) | 2024.03.28 |
---|---|
Programmers / 뒤에 있는 큰 수 찾기 / Python (0) | 2024.03.27 |
Programmers / 네트워크 / Python (0) | 2024.03.26 |
Programmers / 게임 맵 최단거리 / Python (0) | 2024.03.25 |
Programmers / 모음사전 / Python (0) | 2024.03.25 |