[๋ฐฑ์ค€-11279] ์ตœ๋Œ€ ํž™ / Python

๐Ÿ“š Problem Solving/Baekjoon

 

11279๋ฒˆ: ์ตœ๋Œ€ ํž™

์ฒซ์งธ ์ค„์— ์—ฐ์‚ฐ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ x๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋งŒ์•ฝ x๊ฐ€ ์ž์—ฐ์ˆ˜๋ผ๋ฉด ๋ฐฐ์—ด์— x๋ผ๋Š” ๊ฐ’์„ ๋„ฃ๋Š”(์ถ”๊ฐ€ํ•˜๋Š”) ์—ฐ์‚ฐ์ด๊ณ , x๊ฐ€

www.acmicpc.net

import sys
import heapq

q = []
for _ in range(int(sys.stdin.readline())):
    num = int(sys.stdin.readline())
    if not q and num == 0:
        print(0)
    else:
        if num == 0:
            print(-heapq.heappop(q))
        else:
            heapq.heappush(q, -num)

 

ํ•ด์„ค

heapq๋Š” ์ตœ์†Œ ํž™๋งŒ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ ํž™์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์Œ์ˆ˜๊ฐ’์œผ๋กœ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.