반응형
알고리즘 분류
- 자료 구조
- 우선순위 큐
SOLUTION
import sys
import heapq
N = int(sys.stdin.readline())
heap = []
for _ in range(N):
x = int(sys.stdin.readline())
if x == 0 :
if heap: # heap이 비어있지 않다면
print(heapq.heappop(heap)[1]) # heap[1]이 -를 붙히지 않은 원래 값이므로
else:
print(0)
else:
# heappush는 가장작은 값이 0번째 index로 들어가기때문에 -를 붙혀서 가장 큰 값을 맨 앞에 넣도록 만든다
heapq.heappush(heap, [-x, x])
'코딩테스트 대비 > 단계별 코딩 테스트 준비(27일 과정)' 카테고리의 다른 글
[BFS & DFS/Python] 1260번: DFS와 BFS - 효과는 굉장했다! (0) | 2022.02.19 |
---|---|
[우선순위 큐/Python] 1655번: 가운데를 말해요 - 효과는 굉장했다! (0) | 2022.02.19 |
[분할 정복/Python] 10830번: 행렬 제곱 - 효과는 굉장했다! (0) | 2022.02.19 |
[분할 정복/Python] 1992번: 쿼드트리 - 효과는 굉장했다! (0) | 2022.02.19 |
[다이나믹 프로그래밍/Python] 2579번: 계단 오르기 - 효과는 굉장했다! (0) | 2022.02.19 |