반응형
https://www.acmicpc.net/problem/11279
import sys
import heapq
maxheap = []
result = []
n = int(sys.stdin.readline())
for _ in range(n):
a = int(sys.stdin.readline())
if a > 0:
# 최대힙 만드는 법
heapq.heappush(maxheap, (-a, a))
else:
if len(maxheap) != 0:
result.append(heapq.heappop(maxheap)[1])
else:
result.append(0)
for i in result:
print(i)
d힙에 원소를 튜플 형태로 넣을경우 튜플의 첫 번째 원소를 우선순위로 힙을 구성. 파이썬은 최소 힙을 사용하기 때문에
입력 받은 정수값을 (-a,a) 형태로 append하고 첫번째 인덱스를 사용하여 값을 사용하여 출력한다.
반응형
'알고리즘 풀이 > 자료구조' 카테고리의 다른 글
[백준/파이썬] 1764번 : 듣보잡 (0) | 2023.01.14 |
---|---|
[백준/파이썬] 1927번: 최소 힙 (0) | 2023.01.10 |
[백준/파이썬] 1966번 : 프린터 큐 (0) | 2023.01.09 |
[백준/파이썬] 10866번: 덱 (0) | 2023.01.09 |
[백준/파이썬] 11866번: 요세푸스 문제 0 (0) | 2023.01.07 |
댓글