π©π»πΎ
[λ°±μ€/Python] 1931λ² νμμ€ λ°°μ λ³Έλ¬Έ
1οΈβ£λ¬Έμ μ€λͺ
ν κ°μ νμμ€μ΄ μλλ° μ΄λ₯Ό μ¬μ©νκ³ μ νλ Nκ°μ νμμ λνμ¬ νμμ€ μ¬μ©νλ₯Ό λ§λ€λ €κ³ νλ€. κ° νμ Iμ λν΄ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ Έ μκ³ , κ° νμκ° κ²ΉμΉμ§ μκ² νλ©΄μ νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μ°Ύμ보μ. λ¨, νμλ νλ² μμνλ©΄ μ€κ°μ μ€λ¨λ μ μμΌλ©° ν νμκ° λλλ κ²κ³Ό λμμ λ€μ νμκ° μμλ μ μλ€. νμμ μμμκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€. μ΄ κ²½μ°μλ μμνμλ§μ λλλ κ²μΌλ‘ μκ°νλ©΄ λλ€.
2οΈβ£μ λ ₯
첫째 μ€μ νμμ μ N(1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° N+1 μ€κΉμ§ κ° νμμ μ λ³΄κ° μ£Όμ΄μ§λλ° μ΄κ²μ 곡백μ μ¬μ΄μ λκ³ νμμ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ§λ€. μμ μκ°κ³Ό λλλ μκ°μ 231-1λ³΄λ€ μκ±°λ κ°μ μμ°μ λλ 0μ΄λ€.
3οΈβ£μΆλ ₯
첫째 μ€μ μ΅λ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μΆλ ₯νλ€.
π©π»π»μμ±ν μ½λ
import sys
input = sys.stdin.readline
n = int(input()) # νμ κ°μ
A = [[0] * 2 for _ in range(n)]
cnt = 0 # κ°λ₯ν νμ μ
for i in range(n):
s, e = map(int, input().split()) # μμμκ°, μ’
λ£μκ°
A[i][0] = s
A[i][1] = e
A.sort(key=lambda x: (x[1], x[0])) # μ’
λ£μκ°μ΄ κ°μ λ, μμμκ°μ κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬
end = 0
for i in range(n):
if A[i][0] >= end:
end = A[i][1]
cnt += 1
print(cnt)
π‘μ½λ μ€λͺ
μ΄ λ¬Έμ λ νμ μ’ λ£μκ°μ΄ λΉ λ₯Όμλ‘ λ€μ νμμ κ²ΉμΉμ§ μκ² μμνκΈ°μ μ 리νκ³ μ΅λν λ§μ νμλ₯Ό λ°°μ ν μ μμΌλ―λ‘ μ’ λ£μκ°μ κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬μ νλ€.
λλ²μ§Έ forλ¬Έμ 보면, μμμκ°μ΄ μ’ λ£μκ°λ³΄λ€ ν¬κ±°λ κ°μΌλ©΄ νμκ° κ²ΉμΉμ§ μμΌλ―λ‘ cntμ +1μ ν΄μ€λ€.
'μ½λ©ν μ€νΈ > λ°±μ€(BOJ)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/Python] 1181λ² λ¨μ΄ μ λ ¬ (0) | 2023.03.10 |
---|---|
[λ°±μ€/Python] 1541λ² μμ΄λ²λ¦° κ΄νΈ (0) | 2023.03.09 |
[λ°±μ€/Python] 1744λ² μ λ¬ΆκΈ° (0) | 2023.03.09 |
[λ°±μ€/Python] 1715λ² μΉ΄λ μ λ ¬νκΈ° (0) | 2023.03.09 |
[λ°±μ€/Python] 11047λ² λμ 0 (0) | 2023.03.09 |