< sortedDescending >
컬렉션의 요소를 내림차순으로 정렬하는 함수이다. 기존의 컬렉션을 변경하지 않고 새롭게 정렬된 컬렉션을 반환한다. 아래 코드에서 numbers.sortedDescending()는 numbers 리스트를 내림차순으로 정렬한 새로운 리스트를 반환한다. 기존의 리스트는 변경되지 않는다.
val numbers = listOf(5, 3, 8, 1, 7)
val sorted: List<Int> = numbers.sortedDescending()
println(numbers) // [5, 3, 8, 1, 7]
println(sorted) // [8, 7, 5 ,3, 1]
사용자가 지정한 기준에 따라 정렬하려면 sortedByDescending 함수와 함께 Comparator를 사용할 수 있다.
data class Person(val name: String, val age: Int)
fun main() {
val people = listOf(
Person("Alice", 30),
Person("Bob", 35),
Person("Charlie", 20)
)
val sortedByAge: List<Person> = people.sortedByDescending { it.age }
println(people) // [Person(name=Alice, age=30), Person(name=Bob, age=35), Person(name=Charlie, age=20)]
println(sortedByAge) // [Person(name=Bob, age=35), Person(name=Alice, age=30), Person(name=Charlie, age=20)]
}
< joinToString >
Kotlin의 표준 라이브러리에 포함된 문자열 조합 함수로서 컬렉션의 각 요소를 구분자와 함께 연결하여 하나의 문자열로 반환한다. 주로 리스트나 배열 등의 컬렉션을 문자열로 변환할 때 사용된다. 다양한 매개변수를 받아 문자열 연결 시 유연하게 사용할 수 있다.
fun main() {
val list = listOf("apple", "banana", "orange")
// 기본적인 사용
val result1: String = list.joinToString()
println(result1) // apple, banana, orange
// 구분자, 접두사, 접미사 추가
val result2: String = list.joinToString(separator = " | ", prefix = "[", postfix = "]")
println(result2) // [apple | banana | orange]
}
-------------------------------------------------------------------------------------------------------------------------
< 문제 20번 >
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를 들어 n이 118372면 873211을 리턴하면 됩니다.
< solution >
class Solution {
fun solution(n: Long): Long {
require(n in 1..8000000000L)
val digits = n.toString().map { it.toString().toLong() }
// n의 각 자릿수를 내림차순으로 정렬한 후에 새로운 문자열로 반환
val result = digits.sortedDescending().joinToString("").toLong()
return result
}
}
728x90
'앱 개발 > Algorithm' 카테고리의 다른 글
=, == (가운데 글자 가져오기) (0) | 2024.02.16 |
---|---|
isNotEmpty, intArrayOf (나누어 떨어지는 숫자 배열) (0) | 2024.02.15 |
substring, isDigit (문자열을 정수로 바꾸기) (0) | 2024.02.05 |
first (나머지가 1이 되는 수 찾기) (0) | 2024.02.02 |
map (자연수 뒤집어 배열로 만들기) (0) | 2024.01.30 |