[백준/코틀린] 1931번: 회의실 배정
골드 5
링크
풀이
종료 시간이 빠른 회의부터 선택하면 가장 많은 회의를 배정할 수 있습니다.
회의를 종료 시간 오름차순 → 시작 시간 오름차순으로 정렬한 뒤,
직전 회의의 종료 시간 이후에 시작하는 회의만 선택합니다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
data class Meeting(
val s: Int,
val e: Int,
)
fun main() {
val n = readln().toInt()
val meetings = List(n) { readln().split(" ").map { it.toInt() } }
.map { Meeting(it[0], it[1]) }.sortedWith(compareBy(Meeting::e, Meeting::s))
var lastEndTime = 0
var ans = 0
meetings.forEach {
if (lastEndTime <= it.s) {
lastEndTime = it.e
ans++
}
}
println(ans)
}
This post is licensed under CC BY 4.0 by the author.