백준 1927번 최소 힙
백준 1927번 최소 힙
최소 힙 문제로 이전 문제 최대 힙과 같은 문제이다 최대 힙을 구현할때는 음수로 지정해서 힙에 넣었지만 이번에는 그냥 넣으면 최소 힙이 바로된다
우선 순위 큐
우선 순위 큐란 일반적인 큐(FIFO)와 다르게 들어간 순서와 상관없이 우선순위가 높은 데이터가 먼저 나오는 큐이다
우선 순위 큐는 힙구조로 구현이 되어있다 우선 순위 큐 EX)최대 힙, 최소 힙
문제 해결
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import sys, heapq
min_heap = []
n = int(sys.stdin.readline().strip())
for i in range(0,n):
x = int(sys.stdin.readline().strip())
if x == 0:
if len(min_heap) == 0:
print(0)
else:
print(heapq.heappop(min_heap))
else:
heapq.heappush(min_heap,x)
heapq 사용법
추가 heapq.heappush(힙이름, 원소) 를 통해서 원소를 힙에 추가한다
삭제후 리턴 heapq.heappop(힙이름, 원소) 원소를 힙에서 pop
리스트를 힙으로 변환 heapq.heapify(힙이름) 리스트를 힙으로 변환
This post is licensed under CC BY 4.0 by the author.