Algorithm
λ°±μ€ - νμμ€ λ°°μ (Swift)
CheonD
2022. 10. 23. 02:07
λ°±μ€ - νμμ€ λ°°μ (Swift)
λ¬Έμ μ€λͺ
https://www.acmicpc.net/problem/1931
1931λ²: νμμ€ λ°°μ
(1,4), (5,7), (8,11), (12,14) λ₯Ό μ΄μ©ν μ μλ€.
www.acmicpc.net
λμ νμ΄
κ°μ₯ λ§μ νμλ₯Ό νκΈ° μν΄μλ νμμκ°μ΄ 빨리λλλλλ‘ ν΄μΌνλ€.
λ§μ½ νμκ° μΌμ° μμνλ κ²λΆν°νλ€λ©΄ νμμκ°μ΄ κΈΈκΈ°λλ¬Έμ μ΅μ μ΄ μλκ³ νμμκ°μ΄ μ§§μ μμ£Όλ‘ νλ€λ©΄ μ§§μκ² λ€μ μ‘΄μ¬νλ€λ©΄ μ΄κ² μμ λ°λ‘κ° μ‘΄μ¬νκ² λλ€.
import Foundation
let n = Int(readLine()!)!
var tup: [(Int, Int)] = []
var currentEnd = -1
var cnt = 0
for i in 0..<n {
let input = readLine()!.components(separatedBy: " ").map{ Int($0)! }
tup.append((input[0], input[1]))
}
tup.sort { $0.1 == $1.1 ? $0.0 < $1.0 : $0.1 < $1.1}
for x in tup {
if x.0 >= currentEnd {
currentEnd = x.1
cnt += 1
}
}
print(cnt)