λ¬Έμ
μκ°μ μ²μ λ§μ€ν° κΉμ’ ν μ μλμκ² μλ‘μ΄ κ³Όμ κ° μ£Όμ΄μ‘λ€.
κΉμ’ ν μ μλνν λ Siμ μμν΄μ Tiμ λλλ Nκ°μ μμ μ΄ μ£Όμ΄μ§λλ°, μ΅μμ κ°μμ€μ μ¬μ©ν΄μ λͺ¨λ μμ μ κ°λ₯νκ² ν΄μΌ νλ€.
μ°Έκ³ λ‘, μμ μ΄ λλ μ§νμ λ€μ μμ μ μμν μ μλ€. (μ¦, Ti ≤ Sj μΌ κ²½μ° i μμ κ³Ό j μμ μ κ°μ΄ λ€μ μ μλ€.)
μκ°μ μ² λμΆ©ν κ² μ°λ¦¬λ©΄, μ μλμ λμλ리μ!
μ λ ₯
첫 λ²μ§Έ μ€μ Nμ΄ μ£Όμ΄μ§λ€. (1 ≤ N ≤ 200,000)
μ΄ν Nκ°μ μ€μ Si, Tiκ° μ£Όμ΄μ§λ€. (0 ≤ Si < Ti ≤ 109)
μΆλ ₯
κ°μμ€μ κ°μλ₯Ό μΆλ ₯νλΌ.
https://www.acmicpc.net/problem/11000
π‘ νμ΄ λ° μ½λ
import heapq
import sys
input = sys.stdin.readline
n = int(input())
array = []
for _ in range(n):
array.append(tuple(map(int, input().split())))
array.sort(key=lambda x: x[0])
pq = []
heapq.heappush(pq, array[0][1])
for i in range(1, n):
s = heapq.heappop(pq)
if s <= array[i][0]:
heapq.heappush(pq, array[i][1])
else:
heapq.heappush(pq, s)
heapq.heappush(pq, array[i][1])
print(len(pq))
μ΄μ μ μ°μ μμ νλ₯Ό μ¬μ©ν μ€ λͺ°λΌ λ―Έν΄κ²°λ‘ λ¨κ²¨λμλ λ¬Έμ μ΄λ€.
μκ° μ νμ λ§μΆκΈ° μν΄μλ μ°μ μμ νλ₯Ό μ¬μ©ν΄μΌ νλ€. κ°κ°μ μμ μ λνμ¬ μμ μκ°μ κΈ°μ€μΌλ‘ μ λ ¬ν΄ λμ ν μ’ λ£ μκ°μ μ°μ μμ νμΈ pqμ νΈμνλ€. μ΄λ, λ¨Όμ heappopμ ν΅ν΄ μ΄μ μμ λ€ μ€ κ°μ₯ μμ μ’ λ£ μκ°μ ꡬν ν νμ¬μ μμ μμ μκ°μ΄ ν΄λΉ μ’ λ£ μκ°λ³΄λ€ ν¬κ±°λ κ°μΌλ©΄ κ°μ κ°μμ€μ λ°°μ ν μ μμΌλ―λ‘ νμ¬μ μμ μ’ λ£ μκ°μ pqμ λμ νΈμνλ€. κ·Έλ μ§ μλ€λ©΄ μλ‘μ΄ κ°μμ€μ΄ νμνλ€λ μλ―Έμ΄λ―λ‘ popμΌλ‘ λΉΌλ¨λ μ΄μ μμ μ μ’ λ£ μκ°κ³Ό νμ¬ μμ μ μ’ λ£μκ°μ ν¨κ» pqμ νΈμνλ€. μ΅μ’ μ μΌλ‘ pqμ κΈΈμ΄κ° κ°μμ€μ μκ° λλ€.
'Algorithm > π Baekjoon Judge' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] λ°±μ€ 1238λ² νν° - νμ΄μ¬(Python) (0) | 2022.01.19 |
---|---|
[BOJ] λ°±μ€ 1261λ² μκ³ μ€ν - νμ΄μ¬(Python) (0) | 2022.01.19 |
[BOJ] λ°±μ€ 2212λ² μΌμ - νμ΄μ¬(Python) (0) | 2022.01.10 |
[BOJ] λ°±μ€ 15686λ² μΉν¨ λ°°λ¬ - νμ΄μ¬(Python) (0) | 2022.01.07 |
[BOJ] λ°±μ€ 14503λ² λ‘λ΄ μ²μκΈ° - νμ΄μ¬(Python) (1) | 2022.01.07 |