정답 코드
let N = Int(readLine()!)!
var meetings = [(Int, Int)]()
for _ in 0..<N {
let input = readLine()!.split(separator: " ").map { Int($0)! }
meetings.append((input[0], input[1]))
}
meetings.sort { $0.0 < $1.0 }
meetings.sort { $0.1 < $1.1 }
var ans = 0
var standard = -1
for meeting in meetings {
if meeting.0 >= standard {
ans += 1
standard = meeting.1
}
}
print(ans)
코드 설명
- meetings을
- 시작 시간을 기준으로 정렬을 합니다.
- 회의 종료 시간을 기준으로 정렬을 합니다.
- 회의 시작 시간이 standard보다 클 경우 회의 수를 1 증가하고 standard를 해당 회의의 종료 시간으로 변경합니다.
'코딩테스트 > 문제풀이-2' 카테고리의 다른 글
[선택] 1026 보물 [정렬][그리디] (0) | 2024.02.14 |
---|---|
[선택] 11650 좌표 정렬하기 [정렬] (0) | 2024.02.08 |
[선택] 2750 수 정렬하기 [정렬] (0) | 2024.02.01 |
[선택] 4396 지뢰찾기 [2차원 리스트] (0) | 2024.02.01 |
[선택] 2563 색종이 [이차원 리스트] (1) | 2024.01.31 |
[필수] 2630 색종이 만들기 [이차원 리스트][재귀] (1) | 2024.01.30 |