Coding Test/Python 풀이2 [Python] (프로그래머스 Level 3) 이중우선순위큐 [Python] (프로그래머스 Level 3) 이중우선순위큐 내 풀이 from heapq import heapify, heappush, heappop, nlargest def solution(operations): heap = [] heapify(heap) for operation in operations: [char, value] = operation.split(' ') if char == 'I': heappush(heap, int(value)) else: if len(heap) > 0: if value == '1': heap = nlargest(len(heap), heap)[1:] heapify(heap) else: heappop(heap) if heap: .. 2023. 2. 12. [Python] (프로그래머스 Level 2) 더 맵게 [Python] (프로그래머스 Level 2) 더 맵게 내 풀이 import heapq def solution(scoville, K): heap = scoville heapq.heapify(scoville) count = 0 while True: min_val = heapq.heappop(heap) if min_val >= K: return count if len(heap) < 1: return -1 min_val2 = heapq.heappop(heap) heapq.heappush(heap, min_val + min_val2 *2) count += 1 return count JS로 공부할 때 Heap 구현은 해보았지만… 사용해서 문제를 풀어볼 엄두는 안나던데, python으로 하니 간단하게 import .. 2023. 2. 12. 이전 1 다음