문제
풀이
Pair<Int, String> 타입의 list를 만들고 입력받은 정보를 저장한다. 그리고 그 리스트에 sortWith 함수를 이용해 나이 순으로 정렬해준다. sortWith 함수는 자신이 원하는 정렬 규칙으로 Comparator를 지정할 수 있는 것이다. 이 문제에서는 다른 객체와 나이를 비교하게 하면 된다.
코드
import java.util.*
fun main() {
val br = System.`in`.bufferedReader()
val bw = System.out.bufferedWriter()
val num = br.readLine().toInt()
val list = mutableListOf<Pair<Int, String>>()
repeat(num) {
val st = StringTokenizer(br.readLine())
val age = st.nextToken().toInt()
val name = st.nextToken().toString()
list.add(Pair(age, name))
}
list.sortWith { o1, o2 -> // 나이 순 정렬
o1.first - o2.first
}
list.forEach {
bw.append("${it.first} ${it.second}\n")
}
bw.write("")
bw.flush()
bw.close()
br.close()
}
'알고리즘 > Baekjoon' 카테고리의 다른 글
[백준] 11051번: 이항 계수 2 - Kotlin[코틀린] (0) | 2023.09.17 |
---|---|
[백준] 1010번: 다리 놓기 - Kotlin[코틀린] (0) | 2023.08.17 |
[백준] 1149번: RGB거리 - Kotlin[코틀린] (0) | 2023.08.07 |
[백준] 10773번: 제로 - Kotlin[코틀린] (0) | 2023.08.07 |
[백준] 2438 ~ 2446번: 별 찍기 - 1 ~ 9 - Kotlin[코틀린] (0) | 2023.08.05 |