최소힙 코드
heapq 라이브러리를 사용한다.
import heapq as hq
a = []
while True:
n = int(input())
if n == -1:
break
if n == 0:
if len(a) == 0:
print(-1)
else:
print(hq.heappop(a))
else:
hq.heappush(a,n) #a리스트에다가 n을 푸쉬해라
최대힙 코드
import heapq as hq
a = []
while True:
n = int(input())
if n == -1:
break
if n == 0:
if len(a) == 0:
print(-1)
else:
print(-hq.heappop(a))
else:
hq.heappush(a,-n) #a리스트에다가 -n을 푸쉬해라
# 기본적으로 heapq는 최소힙으로 작동한다.
# 하지만 이문제는 최대힙 문제이기 때문에 음수의 개념을 활용한다.
'코딩테스트 > 파이썬 알고리즘 문제풀이 입문 (코딩테스트 대비)' 카테고리의 다른 글
재귀함수와 스택 (0) | 2023.02.22 |
---|---|
이분탐색 (0) | 2023.02.22 |
파이썬 기초 문법(선수지식) (0) | 2023.02.09 |