개발/algorithm
[백준 1927번] 최소 힙 -python
zzi_on2
2022. 2. 15. 12:55
문제 링크
https://www.acmicpc.net/problem/1927
1927번: 최소 힙
첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
풀이
- 최소 힙 자료구조 사용
- import heapq
- 원소 추가 : heapq.heappush( 리스트 이름, 원소 )
- 원소 삭제 : heapq.heappop( 리스트 이름 )
import heapq
n = int(input())
h = []
for _ in range(n):
x = int(input())
if x == 0:
if h:
print(heapq.heappop(h))
else:
print(0)
else:
heapq.heappush(h,x)