키와 값
Coddy Kotlin 여정의 논리와 흐름 섹션에 포함된 레슨. 63개 중 7번째.
keys는 서로 다른 키를 제공하고, values는 반복될 수 있는 값을 제공합니다. 안정적인 보고서 순서가 필요할 때는 키를 변환하거나 정렬하세요. 여기서는 정렬된 문자열 키에 리스트에서 배운 대소문자 구분 순서를 사용합니다.
main 안에서:
val scores = mapOf("Bo" to 7, "Ada" to 7)
println(scores.keys.sorted())키를 정렬하면 삽입 순서와 관계없이 Ada가 Bo보다 먼저 나옵니다.
예측 가능한 알파벳순 출력을 원할 때 키를 명시적으로 정렬하세요.
챌린지
중급sortedNames를 매개변수 stock: Map<String, Int>와 함께 완성하세요. 맵의 키를 정렬된 목록으로 반환하세요. 모든 키는 소문자 ASCII 단어입니다.
위에 더 엄격한 범위가 명시되어 있지 않은 한, 각 수준의 컬렉션에는 최대 100개의 요소가 포함되며, 정수 인수와 정수 컬렉션 값은 -1000에서 1000 사이입니다. 파싱을 위해 제공되는 텍스트에는 설명된 대로 유효하지 않거나 범위를 벗어난 표현이 포함될 수 있습니다.
List<String> 타입의 값을 반환하세요. 제공된 입력/출력 코드를 그대로 유지하세요. 이 코드는 스칼라 인수를 한 줄에 하나씩 읽습니다. 목록은 개수와 그 뒤에 오는 요소들로 시작하며, 맵은 항목 개수와 그 뒤에 오는 각 키와 값으로 시작합니다. 중첩 목록에서는 각 행마다 개수와 요소 형식을 반복합니다. 제공된 main은 반환된 값을 출력한 다음 줄바꿈 하나를 출력합니다. 목록에는 Kotlin의 표준 대괄호 형식을 사용하며, 추가 레이블은 출력하지 마세요.
직접 해보기
fun sortedNames(stock: Map<String, Int>): List<String> {
// 여기에 솔루션을 작성하세요.
return emptyList()
}
fun main() {
val stockCount = readln().toInt()
val stock = mutableMapOf<String, Int>()
for (i0 in 0 until stockCount) {
val stockKey = readln()
val stockValue = readln().toInt()
stock[stockKey] = stockValue
}
println(sortedNames(stock))
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드