728x90
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
풀이
- 나이와 이름을 함께 저장할 수 있는 Data Class 를 선언한다.
- List에 입력된 나이와 이름을 저장한다.
- List - sortedWith api 를 이용하여 나이를 기준으로 오름차순 정렬한다.
코드
import java.io.*
import java.util.*
fun main(ars: Array<String>) {
val br = BufferedReader(InputStreamReader(System.`in`))
val n = br.readLine().toInt()
val members = mutableListOf<Member>()
repeat(n) {
val st = StringTokenizer(br.readLine())
members.add(Member(st.nextToken().toInt(), st.nextToken()))
}
val result = members.sortedWith { a, b ->
when {
a.age > b.age -> 1
a.age < b.age -> -1
else -> 0
}
}
for (m in result) {
println("${m.age} ${m.name}")
}
}
data class Member(val age: Int, val name: String)
728x90
'알고리즘' 카테고리의 다른 글
[백준][KOTLIN] 1003 피보나치 함수 (0) | 2021.12.08 |
---|---|
[백준][KOTLIN] 18870 좌표 압축 (0) | 2021.12.08 |
[백준][KOTLIN] 1181 단어 정렬 (0) | 2021.12.07 |
[백준][KOTLIN] 11650 좌표 정렬하기 (0) | 2021.12.06 |
[백준][KOTLIN] 1427 소트인사이드 (0) | 2021.12.06 |