반응형
문제 풀이:
1. 시작하는 시간을 기준으로 오름차순 정렬
2. 끝나는 시간을 기준으로 오름차순 정렬
3. 끝나는 시간과 다음 시작 시간과 비교해서 작다면 카운트 증가
4. 회의 배열 끝까지 위 3번 반복
코드:
import Foundation
let n = Int(readLine()!)!
var session = [(Int,Int)]()
for _ in 0 ..< n {
let s = readLine()!.split(separator: " ").map {Int(String($0))!}
session.append((s[0],s[1]))
}
session.sort (by: { $0.0 < $1.0 })
session.sort(by: { $0.1 < $1.1 })
var temp = 0
var result = 0
for s in session {
if s.0 >= temp {
temp = s.1
result += 1
}
}
print(result)
문제:
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[Algorithm/BOJ] 18353 - 병사 배치하기 (DP) Swift (2) | 2021.02.09 |
---|---|
[Algorithm/BOJ] 11053 - 가장 긴 증가하는 부분 수열 (DP) Swift (1) | 2021.02.09 |
[Algorithm/BOJ] 1932 - 정수 삼각형 (DP) Swift (1) | 2021.02.07 |
[Algorithm/BOJ] 1541 - 잃어버린 괄호 (Greedy) Swift (0) | 2020.12.17 |
[Algorithm/BOJ] 18405 - 경쟁적 전염 (BFS) Swift (0) | 2020.12.06 |
댓글