λ°±μ€ | 1931 νμμ€ λ°°μ νκΈ°
λ¬Έμ
ν κ°μ νμμ€μ΄ μλλ° μ΄λ₯Ό μ¬μ©νκ³ μ νλ Nκ°μ νμμ λνμ¬ νμμ€ μ¬μ©νλ₯Ό λ§λ€λ €κ³ νλ€. κ° νμ Iμ λν΄ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ Έ μκ³ , κ° νμκ° κ²ΉμΉμ§ μκ² νλ©΄μ νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μ°Ύμ보μ. λ¨, νμλ νλ² μμνλ©΄ μ€κ°μ μ€λ¨λ μ μμΌλ©° ν νμκ° λλλ κ²κ³Ό λμμ λ€μ νμκ° μμλ μ μλ€. νμμ μμμκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€. μ΄ κ²½μ°μλ μμνμλ§μ λλλ κ²μΌλ‘ μκ°νλ©΄ λλ€.
μ λ ₯
첫째 μ€μ νμμ μ N(1 β€ N β€ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° N+1 μ€κΉμ§ κ° νμμ μ λ³΄κ° μ£Όμ΄μ§λλ° μ΄κ²μ 곡백μ μ¬μ΄μ λκ³ νμμ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ§λ€. μμ μκ°κ³Ό λλλ μκ°μ 231-1λ³΄λ€ μκ±°λ κ°μ μμ°μ λλ 0μ΄λ€.
μΆλ ₯
첫째 μ€μ μ΅λ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μΆλ ₯νλ€.
λ΄ μ λ΅
N = int(input()) # νμ μ
data = [[0]*2 for _ in range(N)] # νμ μκ°ν
result = 1
for x in range(N):
sta, end = map(int, input().split())
data[x][0] = sta
data[x][1] = end
# νμκ° λλλ μκ°(x[1])μ κΈ°μ€μΌλ‘ μ λ ¬ ν λμκ°μΌλ μμ μκ°μ΄ λ λΉ λ₯Έ κΈ°μ€
data.sort(key = lambda x: (x[1], x[0]))
# κ°μ₯ 빨리 νμκ° λλλ μκ° data[0][1]
end_time = data[0][1]
for i in range(1, N):
# μμμκ°μ΄ λλλ μκ°λ³΄λ€ λ¦κ±°λ κ°μ λ
if data[i][0] >= end_time:
result += 1
end_time = data[i][1]
print(result)
μ΄ λ¬Έμ λ₯Ό νλ©° μ€μν μ μ λλλ μκ°κ³Ό μμ μκ° λͺ¨λ λΉκ΅λ₯Ό ν΄μΌνλ€λ μ μ΄λ€.
'π» Coding > [Algorithm]Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μνν°μ΄ | μνΌλ°μ΄λ¬μ€ βββ- PYTHON (0) | 2024.03.20 |
---|---|
μ΄μ½ν | λ³Όλ§κ³΅ κ³ λ₯΄κΈ° (0) | 2024.01.31 |
μνν°μ΄ | λ°μ΄λ¬μ€ (0) | 2024.01.24 |
μνν°μ΄ | κΈκ³ νΈμ΄ (0) | 2024.01.23 |
μ΄μ½ν | ν° μμ λ²μΉ (1) | 2024.01.22 |