λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
🧩 Algorithm/μš°μ„ μˆœμœ„ 큐

[λ°±μ€€] 11286번: μ ˆλŒ“κ°’ νž™

by HelloRabbit 2023. 2. 21.
728x90

Hint

1. νž™ μžλ£Œκ΅¬μ‘°μ— νŠœν”Œμ„ 넣을 수 μžˆλ‹€
2. νž™ μ•ˆμ˜ νŠœν”Œμ€ λ“€μ–΄μžˆλŠ” μˆœμ„œλŒ€λ‘œ μž‘μ€κ±°λΆ€ν„° ν°κ±°κΉŒμ§€ μ •λ ¬λœλ‹€
3. νž™ μ‘μš©λ°©λ²• μ•Œμ•„λ³΄κΈ° (μ—¬κΈ°)

 

 

λ°±μ€€ 11286번 (풀어보기)

import heapq
import sys

heap = []
for i in range(int(sys.stdin.readline())):
    n = int(sys.stdin.readline())
    if n == 0:
        if heap == []:
            print(0)
        else:
            print(heapq.heappop(heap)[1])	# κ°€μž₯ μž‘μ€ μ ˆλŒ“κ°’μ„ 가진 숫자 n 좜λ ₯ν•˜κΈ°
    else:
        heapq.heappush(heap, (abs(n), n))	# νŠœν”Œ ν˜•νƒœλ‘œ n의 μ ˆλŒ“κ°’κ³Ό n을 λ‘˜ λ‹€ λ„£μ–΄μ€Œ

 

 

 

λŒ“κΈ€