βοΈ λ¬Έμ
[λ°±μ€/BOJ] 1374λ²: κ°μμ€(https://www.acmicpc.net/problem/1374)
Nκ°μ κ°μκ° μλ€. μ°λ¦¬λ λͺ¨λ κ°μμ μμνλ μκ°κ³Ό λλλ μκ°μ μκ³ μλ€. μ΄λ, μ°λ¦¬λ μ΅λν μ μ μμ κ°μμ€μ μ¬μ©νμ¬ λͺ¨λ κ°μκ° μ΄λ£¨μ΄μ§κ² νκ³ μΆλ€.
λ¬Όλ‘ , ν κ°μμ€μμλ λμμ 2κ° μ΄μμ κ°μλ₯Ό μ§νν μ μκ³ , ν κ°μμ μ’ λ£μκ°κ³Ό λ€λ₯Έ κ°μμ μμμκ°μ΄ κ²ΉμΉλ κ²μ μκ΄μλ€. νμν μ΅μ κ°μμ€μ μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
π€ μ μΆλ ₯ μμ
π§ λμ΄λ/μμ μκ°
β λμ΄λ: solved.ac κΈ°μ€ G5
β μμ μκ°: 59λΆ
β κΆμ₯ μκ°: 1μκ° 30λΆ
π‘ νμ΄
1) λ¬Έμ μ΄ν΄
λ°±μ€ 11000λ²: κ°μμ€ λ°°μ λ¬Έμ μ λμΌνλ€. μ΄ λ¬Έμ λ₯Ό ν λ 'μ°μ μμ ν' κ°λ κ³Ό 'μ΅μ ν' κ°λ μ μκ² λλλ°, μ΄ λ¬Έμ μμλ μ κ°λ λ€μ΄ μ°μλ€.
2) μμ΄λμ΄ νλ¦
β κ°μ μμ μκ° κΈ°μ€μΌλ‘ μ λ ¬
β‘ μ΅μ ν μ΄κΈ°ν
β’ κ°μ μκ° λ¦¬μ€νΈλ₯Ό μννλ©΄μ νμ¬ κ°μ μμ μκ°μ΄ κ°μ₯ μ΄λ₯Έ μ’ λ£ μκ°λ³΄λ€ ν¬κ±°λ κ°λ€λ©΄ κ°μμ€ μ¬μ¬μ©
β£ νμ¬ κ°μ μ’ λ£ μκ°μ νμ μΆκ°
μΌλ¨μ κ°λ΅νκ² μ μ΄λκ³ λμ€μ μμ ...!
3) ꡬν
import sys
import heapq
input = sys.stdin.readline
N = int(input())
lectures = []
for _ in range(N):
_, start, end = map(int, input().split())
lectures.append((start, end))
lectures.sort()
# μ΅μ ν μ΄κΈ°ν
rooms = []
for start, end in lectures:
# νμ¬ κ°μ μμ μκ°μ΄ κ°μ₯ μ΄λ₯Έ μ’
λ£ μκ°λ³΄λ€ ν¬κ±°λ κ°λ€λ©΄ κ°μμ€ μ¬μ¬μ©
if rooms and rooms[0] <= start:
heapq.heappop(rooms)
# νμ¬ κ°μ μ’
λ£ μκ°μ νμ μΆκ°
heapq.heappush(rooms, end)
print(len(rooms))
4) μ΄λ €μ λ μ /λ°°μ΄ μ
π¨ μ΄λ €μ λ μ
- κ°μμ€ λ°°μ λ¬Έμ μ λκ°λ€λ κ²κ³Ό μμ μκ° κΈ°μ€μΌλ‘ μ λ ¬ν΄μΌ νλ€λ κ±Έ λ°λ‘ λ μ¬λ Έμ§λ§ μ°μ μμ νλ₯Ό μ¨μΌ νλ 건 λ°λ‘ λ μ¬λ¦¬μ§ λͺ»νλ€.
β λ°°μ΄ μ
- μ°μ μμ νμ κ°λ κ³Ό λμ λ°©μμ λν΄ κΉκ² 곡λΆν΄λ³Ό νμκ° μλ€.
'Problem Solving > [νν΄99] TIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
99ν΄λ½ μ½ν μ€ν°λ 22μΌμ°¨ TIL / μμ νμ (1) | 2024.11.18 |
---|---|
99ν΄λ½ μ½ν μ€ν°λ 21μΌμ°¨ TIL / μμ νμ (0) | 2024.11.17 |
99ν΄λ½ μ½ν μ€ν°λ 18μΌμ°¨ TIL / 그리λ (1) | 2024.11.14 |
99ν΄λ½ μ½ν μ€ν°λ 17μΌμ°¨ TIL / 그리λ (1) | 2024.11.13 |
99ν΄λ½ μ½ν μ€ν°λ 16μΌμ°¨ TIL / 그리λ (5) | 2024.11.12 |