백준
백준 - 최소힙 1927
gebalza
2023. 3. 7. 09:53
https://www.acmicpc.net/problem/1927
1927번: 최소 힙
첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
문제 설명
0이 나오면 힙속 가장 작은 값을 출력하고, 그외 입력을 받는다면 힙에 넣기
코드 구성
파이썬의 heapq를 이용하면 간편하게 구현가능
코드
#1927 최소힙
import heapq
import sys
n = int(sys.stdin.readline())
heap = []
for _ in range(n):
x = int(sys.stdin.readline())
if(x==0):
if len(heap)==0:
print(0)
else:
result = heapq.heappop(heap)
print(result)
else:
heapq.heappush(heap,x)
반응형