728x90
문제를 보고 deque 로 접근을 했으나 시간 초과가 났고, heapq 를 사용하는 문제임을 알게 되었다. heaqp 를 사용할 때 리스트를 우선적으로 선언을 해준 뒤에 접근을 한다는 것을 다시 알게 되었고, sys.stdin.readline() 을 하는 것이 큰 차이가 있는 것 역시 알게 되었다.
from collections import deque
import math
import heapq
import sys
num = int(input())
k = [ ]
for i in range(0,num):
a = int(sys.stdin.readline())
# a가 0이면
if a==0:
# 배열이 비어있는 경우
if len(k)==0:
print(0)
# 배열이 비어있지 않은 경우
else:
q = heapq.heappop(k)
print(q[1])
# a가 0이 아니면
else:
# 절댓값, 값 순으로 넣기
heapq.heappush(k,([int(math.fabs(a)),a]))
728x90
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 2178 미로 탐색 (0) | 2023.03.22 |
|---|---|
| [파이썬] 백준 1946 신입사원 (0) | 2023.03.21 |
| [파이썬] 백준 1475 방 번호 (0) | 2023.03.20 |
| [파이썬] 백준 1107 리모컨 (0) | 2023.03.20 |
| [파이썬] 백준 1759 암호 만들기 (0) | 2023.03.19 |