[๋ฐฑ์ค€-11286] ์ ˆ๋Œ“๊ฐ’ ํž™ / Python

๐Ÿ“š Problem Solving/Baekjoon

 

11286๋ฒˆ: ์ ˆ๋Œ“๊ฐ’ ํž™

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

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)[1])
        else:
            heapq.heappush(q, (abs(num), num))

 

ํ•ด์„ค

heapq์— ์ ˆ๋Œ“๊ฐ’๊ณผ ๊ธฐ์กด๊ฐ’์„ ํ•จ๊ป˜ ๋„ฃ์–ด์ฃผ๋ฉด ์™„๋ฃŒ!