ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
N๊ฐ์ ์๊ฐ ์ฐจ๋ก๋๋ก ์ ๋ ฅ๋ ๋, ์ค๊ฐ ๊ฐ์ ์ถ๋ ฅํ์ฌ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ `heap`์ left, right๋ก ๋๋๊ณ , left์ ๋ฃจํธ๊ฐ ์ค๊ฐ๊ฐ์ด ๋๋๋ก ๋ก์ง์ ๊ตฌํํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. left๋ ์ต๋ ํ์ผ๋ก ๋ง๋ค๊ณ , right๋ ์ต์ ํ์ผ๋ก ๋ง๋ค๋ฉด pop์ฐ์ฐ์ ํ์ฉํ๊ธฐ ์ข๋ค.
์ฝ๋
from sys import stdin
import heapq
if __name__ == '__main__':
n = int(stdin.readline())
left, right = [], []
for _ in range(n):
num = int(stdin.readline())
if len(left) == len(right):
heapq.heappush(left, -num)
else:
heapq.heappush(right, num)
if right and -left[0] > right[0]:
heapq.heappush(left, -heapq.heappop(right))
heapq.heappush(right, -heapq.heappop(left))
print(-left[0])
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 16637 ๊ดํธ ์ถ๊ฐํ๊ธฐ (4) | 2020.10.06 |
---|---|
๋ฐฑ์ค: 17070 ํ์ดํ ์ฎ๊ธฐ๊ธฐ 1 (0) | 2020.10.05 |
๋ฐฑ์ค: 2606 ๋ฐ์ด๋ฌ์ค (0) | 2020.10.04 |
๋ฐฑ์ค: 16956 ๋๋์ ์ (0) | 2020.10.04 |
๋ฐฑ์ค: 3015 ์ค์์์ค ์ฌ๊ฒฐํฉ (0) | 2020.10.03 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ