URL : https://www.acmicpc.net/problem/1931
1931번: 회의실 배정
(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.
www.acmicpc.net
[ RESULT ]
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
fun main() {
val N = br.readLine().toInt()
val meetingTimes: MutableList<MutableList<Int>> = mutableListOf()
var meeting: MutableList<Int>
repeat(N) {
val (s, e) = br.readLine()!!.split(" ").map { it.toInt() }
meeting = mutableListOf(s, e)
meetingTimes.add(meeting)
}
meetingTimes.sortWith(compareBy({ it[1] }, { it[0] }))
var cnt = 1
var currEnd = meetingTimes[0][1]
for(i in 1 until N) {
if(meetingTimes[i][0] >= currEnd) {
currEnd = meetingTimes[i][1]
cnt++
}
}
bw.write(cnt.toString())
br.close()
bw.flush()
bw.close()
}
[ Fails ]
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
fun main() {
val N = br.readLine().toInt()
var max = 0
val meetingTimes: MutableList<MutableList<Int>> = mutableListOf()
var meeting: MutableList<Int>
var currStart: Int
var currEnd: Int
repeat(N) {
val (s, e) = br.readLine()!!.split(" ").map { it.toInt() }
meeting = mutableListOf(s, e)
meetingTimes.add(meeting)
}
meetingTimes.sortBy { it.first() }
for(i in 0 until N) {
val reservation: MutableList<MutableList<Int>> = mutableListOf()
reservation.add(meetingTimes[i])
currEnd = reservation[reservation.size-1][1]
for(j in i+1 until N) {
currStart = meetingTimes[j][0]
if(currEnd < currStart) {
reservation.add(meetingTimes[j])
currEnd = reservation[reservation.size-1][1]
}
}
if(max < reservation.size) max = reservation.size
}
bw.write(max.toString())
br.close()
bw.flush()
bw.close()
}
정렬 후 모든 경우의 수를 확인해보려 했다. -> 시간초과
정렬 방식을 변경한 후 문제를 해결할 수 있었다.
Baekjoon(Kotlin) - 1300. K번째 수 (0) | 2023.09.17 |
---|---|
Baekjoon(Kotlin) - 1920. 수 찾기 (0) | 2023.09.16 |
Baekjoon(Kotlin) - 14725. 개미굴 (0) | 2023.09.14 |
Baekjoon(Kotlin) - Num. ProblemName (0) | 2023.09.11 |
Baekjoon(Kotlin) - 10986. 나머지 합 (0) | 2023.09.10 |