728x90
SMALL
문제
https://www.acmicpc.net/problem/11286
11286번: 절댓값 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
풀이
우선순위큐를 이용하여 구현
우선순위큐에서 절댓값으로 우선순위를 지정해서 사용함 (우선순위 지정하여 put : queue.put((우선순위, value)))
import sys
from queue import PriorityQueue
N = int(sys.stdin.readline())
queue= PriorityQueue()
for _ in range(N):
n=int(sys.stdin.readline())
if(n==0):
if queue.empty():
print('0')
continue
priority, value = queue.get()
print(value)
else:
queue.put((abs(n),n)) #우선순위를 절댓값으로 지정
728x90
LIST
'코테공부 > python 백준' 카테고리의 다른 글
파이썬 백준 10799번: 쇠막대기 (0) | 2024.03.27 |
---|---|
파이썬 백준 1406번: 에디터 (0) | 2024.03.27 |
파이썬 백준 5430번 : AC (0) | 2024.03.27 |
파이썬 백준 11279번 : 최대 힙 (0) | 2024.03.26 |
파이썬 백준 1620 : 나는야 포켓몬 마스터 이다솜 (0) | 2024.03.25 |