Kotlin에서 배열을 정렬하는 방법은 다양한 방법이 있습니다. 아래에는 배열을 정렬하는 세 가지 주요 방법을 예시와 함께 제시하겠습니다.
sort()
함수 사용:sort()
함수는 배열을 내림차순 또는 오름차순으로 정렬할 수 있습니다. 내림차순 정렬은sortDescending()
함수를 사용합니다.
fun main() {
val numbers = arrayOf(5, 2, 9, 1, 5, 6)
numbers.sort() // 오름차순 정렬
println("Ascending order: ${numbers.joinToString()}") // 출력: Ascending order: 1, 2, 5, 5, 6, 9
numbers.sortDescending() // 내림차순 정렬
println("Descending order: ${numbers.joinToString()}") // 출력: Descending order: 9, 6, 5, 5, 2, 1
}
sorted()
함수 사용:sorted()
함수는 원본 배열을 변경하지 않고 새로운 정렬된 배열을 반환합니다.
fun main() {
val numbers = arrayOf(5, 2, 9, 1, 5, 6)
val ascendingSorted = numbers.sorted() // 오름차순 정렬된 새 배열 반환
println("Ascending sorted: ${ascendingSorted.joinToString()}") // 출력: Ascending sorted: 1, 2, 5, 5, 6, 9
val descendingSorted = numbers.sortedDescending() // 내림차순 정렬된 새 배열 반환
println("Descending sorted: ${descendingSorted.joinToString()}") // 출력: Descending sorted: 9, 6, 5, 5, 2, 1
}
- 사용자 정의 정렬:
배열의 복잡한 객체를 정렬할 때 사용자 정의 비교 함수를 제공할 수 있습니다.
data class Person(val name: String, val age: Int)
fun main() {
val people = arrayOf(
Person("Alice", 30),
Person("Bob", 25),
Person("Eve", 22)
)
val ageSorted = people.sortedBy { it.age } // 나이순으로 정렬
println("Age sorted: ${ageSorted.joinToString { it.name }}") // 출력: Age sorted: Eve, Bob, Alice
}
위의 예시에서는 sortedBy
함수를 사용하여 나이에 따라 사람들을 정렬하였습니다. 사용자 정의 객체의 정렬에는 람다 식을 사용하여 정렬 기준을 제공할 수 있습니다.
728x90
'코테 > 코딩테스트 대비 Kotlin' 카테고리의 다른 글
Kotlin 두 개의 배열의 요소가 같은지 아는 방법 (0) | 2023.08.19 |
---|---|
Kotlin 배열 자르기 (0) | 2023.08.19 |
Kotlin에서 배열을 n개로 나누기 (0) | 2023.08.19 |
Kotlin 약수 구하기 (0) | 2023.08.19 |
Kotlin 코테 대비 정리 (0) | 2023.08.19 |