Menu
Coddy logo textTech

키로 정렬하기

Coddy Kotlin 여정의 논리와 흐름 섹션에 포함된 레슨. 63개 중 36번째.

sortedBy는 각 요소의 비교 키를 계산하고 키의 오름차순으로 정렬된 새 목록을 반환합니다. sortedByDescending은 키의 순서를 반대로 바꿉니다. Kotlin의 정렬은 안정적이므로 키가 같은 요소는 원래의 상대적 순서를 유지합니다.

main 내부:

println(listOf("pear", "a", "kiwi", "to").sortedBy { it.length })

단어는 길이순으로 정렬됩니다. pear와 kiwi는 길이가 같기 때문에 pear가 kiwi보다 앞에 그대로 유지됩니다.

sortedBy는 키가 같은 요소들 사이에서 원래 순서를 유지합니다.

challenge icon

챌린지

중급

words: List<String> 매개변수를 사용하여 shortWordsFirst를 완성하세요. 단어를 길이가 증가하는 순서로 반환하세요. 길이가 같은 경우 원래 순서를 유지하세요.

위에서 더 엄격한 범위를 지정하지 않은 경우, 컬렉션은 각 수준에서 최대 100개의 요소를 포함하며 정수 인수와 정수 컬렉션 값은 -1000에서 1000 사이입니다. 파싱을 위해 제공되는 텍스트에는 설명된 대로 유효하지 않거나 범위를 벗어난 표현이 포함될 수 있습니다.

List<String> 유형의 값을 반환하세요. 제공된 입력/출력 코드를 그대로 유지하세요. 이 코드는 스칼라 인수를 한 줄에 하나씩 읽습니다. 리스트는 개수와 그 뒤에 요소들이 오는 형식으로 시작하고, 맵은 항목 개수와 그 뒤에 각 키와 값이 오는 형식으로 시작합니다. 중첩 리스트는 각 행에 대해 개수와 요소 형식을 반복합니다. 제공된 main은 반환된 값 뒤에 줄바꿈 하나를 출력합니다. 리스트는 Kotlin의 표준 대괄호 형식을 사용합니다. 추가 레이블은 출력하지 마세요.

직접 해보기

fun shortWordsFirst(words: List<String>): List<String> {
    // 여기에 솔루션을 작성하세요.
    return emptyList()
}
fun main() {
    val wordsCount = readln().toInt()
    val words = mutableListOf<String>()
    for (i0 in 0 until wordsCount) {
        val wordsItem = readLine().orEmpty()
        words.add(wordsItem)
    }
    println(shortWordsFirst(words))
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: Kotlin 플레이그라운드