[김태원 알고리즘] 최대힙
사용 언어: Python3
문제
풀이
heapq는 기본적으로 최소힙으로 작동하기 때문에 push할 때 -를 붙여 push하면 최대힙으로 변형할 수 있다.
import heapq as hq # ✅ heapq는 기본적으로 "최소힙"으로 작동한다
lst = []
while True:
n = int(input())
if n == -1:
break
elif n == 0:
if lst:
print(-hq.heappop(lst)) # ✅ -를 곱한 값 출력
else:
print('-1')
else:
hq.heappush(lst, -n) # ✅ 부호를 반대로 바꿔서 push
💛 개인 공부 기록용 블로그입니다. 👻