문제
풀이
Comparator를 활용하여 우선순위 큐를 내림차순으로 정의하고, 입력받은 숫자를 우선순위 큐에 저장한다. 그 후, N번째 큰 수를 출력해준다.
코드
import java.util.*
fun main() {
val br = System.`in`.bufferedReader()
val bw = System.out.bufferedWriter()
val num = br.readLine().toInt()
val pq = PriorityQueue(Comparator<Int> { o1, o2 ->
o2.compareTo(o1)
})
repeat(num) {
val st = StringTokenizer(br.readLine())
repeat(num) {
pq.add(st.nextToken().toInt())
}
}
repeat(num - 1) { pq.poll() }
bw.write("${pq.poll()}")
bw.flush()
bw.close()
br.close()
}
'알고리즘 > Baekjoon' 카테고리의 다른 글
[백준] 1850번: 최대공약수 - Kotlin[코틀린] (0) | 2024.01.07 |
---|---|
[백준] 1652번: 누울 자리를 찾아라 - Kotlin[코틀린] (0) | 2024.01.04 |
[백준] 2573번: 빙산 - Kotlin[코틀린] (0) | 2024.01.03 |
[백준] 1431번: 시리얼 번호 - Kotlin[코틀린] (0) | 2024.01.02 |
[백준] 1138번: 한 줄로 서기 - Kotlin[코틀린] (0) | 2024.01.01 |