새삼 sys.stdin.readline()
의 중요성을 깨달았다...
진짜 엄청 차이나는구나
아무리 코드 고쳐도 계속 시간초과나서 환멸났는데
input()
에서 sys.stdin.readline()
으로 바꾸자마자 맞았습니다 뜨네;
heapq 모듈 이용해서 우선순위큐로 풀었다.
힙에 (절대값, 원래값)
쌍의 튜플로 push하면 절대값 순서대로, 절대값이 같으면 원래값 순서대로 정렬된다.
시간초과때문에 괜히 애먹은 문제다...
import heapq
n = int(input())
hq = []
for _ in range(n):
x = int(sys.stdin.readline())
if x == 0:
if hq: print(heapq.heappop(hq)[1])
else: print(0)
else: heapq.heappush(hq, (abs(x), x))
앞으로는 한 줄씩 들어오는 입력값을 받을 때 sys.stdin.readline()
을 사용하는 습관을 길들이자.