Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 자바
- Android
- 오블완
- 안드로이드
- 화면 크기 구하기
- 뷰바인딩
- 코틀린
- 코딩테스트
- 코딩테스트 자바
- javaCoding
- Java
- 코딩테스트 JAVA
- CodingTestJava
- BottomNavigation
- ScreenSize
- 산타 환급반
- 백준
- 코테
- 티스토리챌린지
- CodingTest
- kotlin
- baekjoon
- viewpager2
- Coding-Test
- 코테자바
- pattern
- JavaCodingTest
- ModelViewPresenter
- programmers
- 자바 코딩테스트
Archives
- Today
- Total
KDLiam
Baekjoon(Kotlin) - 1931. 회의실 배정 본문
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()
}
정렬 후 모든 경우의 수를 확인해보려 했다. -> 시간초과
정렬 방식을 변경한 후 문제를 해결할 수 있었다.
'Problems(Kotlin) > Baekjoon' 카테고리의 다른 글
| 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 |