IT/ps
백준 11286번 절대값 힙
u149_cinderella
2025. 2. 15. 23:00
힙을 쓰는데 힙요소를 2개씩 넣어주면 된다.
import sys
import heapq
n=int(sys.stdin.readline().rstrip())
q=[]
heapq.heapify(q)
for i in range(n):
x=int(sys.stdin.readline().rstrip())
if x==0:
if len(q)==0:
print(0)
continue
num=heapq.heappop(q)
print(num[1])
else:
ab_x=x
if x<0:
ab_x=-x
heapq.heappush(q,(ab_x,x))
파이썬 heapq자료구조는 자동으로 튜플 순서대로 비교된다.
다시말해 1번째 요소가 같다면 2번째 요소를 이용해 정렬한다는 소리이다.