[Silver I] νμμ€ λ°°μ - 1931
λ¬Έμ
ν κ°μ νμμ€μ΄ μλλ° μ΄λ₯Ό μ¬μ©νκ³ μ νλ Nκ°μ νμμ λνμ¬ νμμ€ μ¬μ©νλ₯Ό λ§λ€λ €κ³ νλ€. κ° νμ Iμ λν΄ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ Έ μκ³ , κ° νμκ° κ²ΉμΉμ§ μκ² νλ©΄μ νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μ°Ύμ보μ. λ¨, νμλ νλ² μμνλ©΄ μ€κ°μ μ€λ¨λ μ μμΌλ©° ν νμκ° λλλ κ²κ³Ό λμμ λ€μ νμκ° μμλ μ μλ€. νμμ μμμκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€. μ΄ κ²½μ°μλ μμνμλ§μ λλλ κ²μΌλ‘ μκ°νλ©΄ λλ€.
μ λ ₯
첫째 μ€μ νμμ μ N(1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° N+1 μ€κΉμ§ κ° νμμ μ λ³΄κ° μ£Όμ΄μ§λλ° μ΄κ²μ 곡백μ μ¬μ΄μ λκ³ νμμ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ§λ€. μμ μκ°κ³Ό λλλ μκ°μ 231-1λ³΄λ€ μκ±°λ κ°μ μμ°μ λλ 0μ΄λ€.
μΆλ ₯
첫째 μ€μ μ΅λ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯ 1 볡μ¬
11
1 4
3 5
0 6
5 7
3 8
5 9
6 10
8 11
8 12
2 13
12 14
μμ μΆλ ₯ 1 볡μ¬
4
ννΈ
(1,4), (5,7), (8,11), (12,14) λ₯Ό μ΄μ©ν μ μλ€.
# νμ΄ λ°©λ²
νμκ° λλλ μκ°μ κΈ°μ€μΌλ‘ sortν μκ°μ νμ§ λͺ»νλ€.
νμμ μ΅λ κ°μλ₯Ό ꡬν΄μΌ νλ―λ‘,
κ°μ₯ μ€μν μ μ κ°λ₯ν 빨리 λλλ νμλ₯Ό μ ννμ¬ λ¨μ μκ°μ λ λ§μ νμλ₯Ό λ°°μ νλ κ²μ΄λ€.
λ°λΌμ νμλ₯Ό λλλ μκ° κΈ°μ€μΌλ‘ μ λ ¬ν ν, 그리λνκ² μ νν΄ λκ°μΌ ν¨
# μ½λ
N = int(input())
time = []
for _ in range(N):
time.append(list(map(int,input().split())))
sorted_time = sorted(time, key=lambda x: (x[1], x[0]))
available = []
available.append(sorted_time[0])
for t in sorted_time[1:]:
if t[0] >= available[-1][1]:
available.append(t)
print(len(available))
N = int(input())
time = []
for _ in range(N):
time.append(list(map(int,input().split())))
sorted_time = sorted(time, key=lambda x: (x[1], x[0]))
cnt = 1
end = sorted_time[0][1]
for t in sorted_time[1:]:
if t[0] >= end:
cnt += 1
end = t[1]
print(cnt)
λ μ½λ λͺ¨λ λ§λ€κ³ λμ΄.. κ·Όλ° μ¬μ€ κ΅³μ΄ available listλ₯Ό λ§λ€ νμλ μμΌλκΉ λλ²μ§Έ μ½λκ° λ λμμ λ―!