[λ°±μ€] 2075 Nλ²μ§Έ ν° μ with Python
π BOJ 2075 Nλ²μ§Έ ν° μ
π‘ 쑰건
NΓNμ νμ μ N2κ° μ±μμ Έ μλ€. μ±μμ§ μμλ ν κ°μ§ νΉμ§μ΄ μλλ°,
λͺ¨λ μλ μμ μ ν μΉΈ μμ μλ μλ³΄λ€ ν¬λ€λ κ²μ΄λ€.νμ μ±μμ§ μλ λͺ¨λ λ€λ₯΄λ€.
N(1 β€ N β€ 1,500)
νμ μ ν μλ -10μ΅λ³΄λ€ ν¬κ±°λ κ°κ³ , 10μ΅λ³΄λ€ μκ±°λ κ°μ μ μμ΄λ€.
μλ£κ΅¬μ‘° μμ©, μ°μ μμ ν νμ©, μ λ ¬ μ νμ λ¬Έμ
π₯ μμ€ μ½λ
from sys import stdin
import heapq
n = int(stdin.readline())
q = []
cnt = 0
for _ in range(n):
data = list(map(int, stdin.readline().split()))
for j in data:
if cnt != n:
heapq.heappush(q, j)
cnt += 1
else:
if q[0] < j:
heapq.heappop(q)
heapq.heappush(q, j)
q.sort()
print(q[0])
π μμ λ° μ€νκ²°κ³Ό
μμ
5
12 7 9 15 5
13 8 11 19 6
21 10 26 31 16
48 14 28 35 25
52 20 32 41 49
μ€νκ²°κ³Ό
35
β¨οΈ λ¬Έμ νμ΄
q λΌλ 리μ€νΈλ₯Ό λ§λ λ€. μ΄ λ¦¬μ€νΈλ νμ μ λ§λ€μ μ«μλ₯Ό λ£μ κ²μ΄λ©°, μ°μ μμ νλ‘ μ¬μ©λλ€.
κ° μ«μλ₯Ό cnt λ³μκ° μ λ ₯ λ°μ nκ³Ό κ°μ λκΉμ§ cnt + 1μ ν΄μ£Όλ©° q μ λ£λλ€.
λ§μ½ q[0]μ κ°λ³΄λ€ λ°©κΈ μννκ³ μλ κ°μ΄ ν¬λ€λ©΄
μ°μ μμκ° κ°μ₯ λμ κ²μ κΊΌλ΄κ³ , μννκ³ μλ κ°μ λ£λλ€.λͺ¨λ λ°μ΄ν°λ₯Ό μννλ€λ©΄, q λ₯Ό μ λ ¬νκ³ κ°μ₯ 첫λ²μ§Έμ μλ κ°μ μΆλ ₯νλ€.
πΎ λλμ
- μ°μ μμ νμ μ±μ§μ μ΄μ©νλ λ¬Έμ μμ΅λλ€.
- μλ£κ΅¬μ‘°μ κ°μλ₯Ό λ£κΈ° μ , μ°μ μμνλ λμΆ© μ΄λ° λλμ΄μ§~ λΌλ μκ°μΌλ‘ νμλλ°
μλ£κ΅¬μ‘° κ°μλ₯Ό λ³΄κ³ λ¬Έμ λ₯Ό λ€μ 보λ μ΄λ° κΏ κ³¨λλ¬Έμ κ° μμ΅λλ€.