문제후기
- 우선순위 큐를 활용한 문제로 Python은 우선순위 큐를 heap을 활용해서 해결합니다.
- 절대값이 기준이고 그 다음 기준이 숫자이므로 (절대값, 숫자) 형식으로 heap에 push합니다.
- 0이 나올 경우 heap에서 pop을 해서 출력합니다.
문제링크
from sys import stdin
import heapq
N = int(stdin.readline())
# 우선순위 큐
heap = []
for n in range(N):
num = int(stdin.readline())
if num != 0:
# 0이 아닌 경우 우선순위 큐에 (절대값, 숫자) 삽입
heapq.heappush(heap,(abs(num), num))
# 0인경우
else:
# 큐가 비어있으면 0 출력
if len(heap) == 0:
print(0)
else:
# 큐에 값이 있으면 pop
print(heapq.heappop(heap)[1])
'백준' 카테고리의 다른 글
[백준] 가장 긴 바이토닉 부분 수열 -Python (0) | 2021.01.18 |
---|---|
[백준] RGB거리 -Python (0) | 2021.01.14 |
[백준] 욕심쟁이 판다 -Python (0) | 2021.01.12 |
[백준] 미확인 도착지 -Python (0) | 2021.01.09 |
[백준] K번째 수 -Python (0) | 2021.01.08 |