λ¬Έμ μ€λͺ
ν κ°μ νμμ€μ΄ μλλ° μ΄λ₯Ό μ¬μ©νκ³ μ νλ Nκ°μ νμμ λνμ¬ νμμ€ μ¬μ©νλ₯Ό λ§λ€λ €κ³ νλ€. κ° νμ Iμ λν΄ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ Έ μκ³ , κ° νμκ° κ²ΉμΉμ§ μκ² νλ©΄μ νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μ°Ύμ보μ. λ¨, νμλ νλ² μμνλ©΄ μ€κ°μ μ€λ¨λ μ μμΌλ©° ν νμκ° λλλ κ²κ³Ό λμμ λ€μ νμκ° μμλ μ μλ€. νμμ μμμκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€. μ΄ κ²½μ°μλ μμνμλ§μ λλλ κ²μΌλ‘ μκ°νλ©΄ λλ€.
μ λ ₯
첫째 μ€μ νμμ μ N(1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° N+1 μ€κΉμ§ κ° νμμ μ λ³΄κ° μ£Όμ΄μ§λλ° μ΄κ²μ 곡백μ μ¬μ΄μ λκ³ νμμ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ§λ€. μμ μκ°κ³Ό λλλ μκ°μ 231-1λ³΄λ€ μκ±°λ κ°μ μμ°μ λλ 0μ΄λ€.
μΆλ ₯
첫째 μ€μ μ΅λ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μΆλ ₯νλ€.
μ μΆλ ₯ μμ
μ λ ₯
11
1 4
3 5
0 6
5 7
3 8
5 9
6 10
8 11
8 12
2 13
12 14
μΆλ ₯
4
λ΄ λ¬Έμ νμ΄
import Foundation
let count = Int(readLine()!)! // νμ μ΄ κ°μ
var times = [[Int]]() // νμ μμ, λ μκ° μ μ₯νλ 2μ°¨μ λ°°μ΄
var answer = 0
for _ in 0..<count {
let input = readLine()!.split(separator: " ").map({Int(String($0))!})
times.append([input[0], input[1]])
}
times.sort(by: { $0[0] < $1[0] }) // μμνλ μκ° κΈ°μ€ μ€λ¦μ°¨μ μ λ ¬
times.sort(by: { $0[1] < $1[1] }) // λλλ μκ° κΈ°μ€ μ€λ¦μ°¨μ μ λ ¬
var check = 0
for i in times {
if i[0] >= check {
check = i[1]
answer += 1
}
}
print(answer)
π μμνλ μκ°, λλλ μκ°μ΄ μμΌλ‘ νλμ μμλ₯Ό μ΄λ£¨λ 2μ°¨μ λ°°μ΄μ
μμνλ μκ°μ κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬ν λ€, λ€μ λλλ μκ°μ κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬νλ€λ μ μ΄ ν¬μΈνΈ!
- μμνλ μκ°κ³Ό λλλ μκ°μ μ°¨λ‘λλ‘ times 2μ°¨μ λ°°μ΄μ μ μ₯νλ€.
- κ·Έλ¦¬κ³ time λ°°μ΄μ μμ μκ° κΈ°μ€ μ€λ¦μ°¨μ μ λ ¬ ν, λ μκ° κΈ°μ€ μ€λ¦μ°¨μ μ λ ¬νλ€.
μ΄λ κ² ν μ΄μ λ, κ°μ μμ μκ°μΌ κ²½μ° λλλ μκ°μ΄ λΉ λ₯Όμλ‘ ν¨μ¨μ μΈ νμ λ°°μ μ΄ κ°λ₯νκΈ° λλ¬Έμ΄λ€. - μμ κ°μ΄ μ λ ¬ν ν, time λ°°μ΄μ μμλλ‘ κ²μνλ©° ν¨μ¨μ μΈ νμλ€μ μ°Ύμ λλ§λ€ answerμ +1 ν΄μ£Όμλ€.
forλ¬Έμ μμΈν μ€λͺ νλ©΄, μλ₯Ό λ€μ΄ [2, 3], [2, 5], [3, 6] μ΄λ κ² νμκ° μμ κ²½μ°
[2, 3] νμμ λλλ μκ°μΈ 3μΌλ‘ check λ³μλ₯Ό κ°±μ ν΄μ£Όκ³ ,
κ·Έ λ€μμ check, μ¦ 3λΆν° μμνλ νμκ° μλμ§ κ²μν΄μ€λ€.
[2, 5]λ 2κ° 3λ³΄λ€ μμΌλ―λ‘ κ·Έλ₯ λμ΄κ°κ³ , [3, 6] νμκ° if 쑰건μ ν΄λΉλλ€.
π‘ νΌλλ°±
- 그리λ λ¬Έμ λ€μ λ체μ μΌλ‘ μ λ ¬μ μ νμ©ν΄μΌ νλ λ¬Έμ κ° λ§μ κ² κ°λ€.
- μ²μ μ΄ λ¬Έμ λ₯Ό νμμ λλ ν λ°°μ΄μ κ°κ°μ μμλ₯Ό κΈ°μ€μΌλ‘ λ λ² μ λ ¬νλ€λ λ°©λ²μ΄
μκ°λμ§ μμ μκ°μ΄κ³Όλμλλ°, μ΄λ° λ°©λ²λ μλ€λ κ²μ,, κΉ¨λ¬μΌλ λ¬Έμ κ° λ무 κ°κ²°ν νλ Έλ€.
λ¬Έμ
https://www.acmicpc.net/problem/1931
'3οΈβ£ Swift > Problem Solving' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift Algorithm] 보물 BOJ #1026 (0) | 2021.08.18 |
---|---|
[Swift Algorithm] λ‘ν BOJ #2217 (0) | 2021.08.18 |
[Swift Algorithm] λμ 0 BOJ #11047 (0) | 2021.08.13 |
[Swift Algorithm] μΉ΄λ2 BOJ #2164 (0) | 2021.08.13 |
[Swift Algorithm] μ€ν°μ BOJ #17298 (0) | 2021.08.08 |
λκΈ