Menu
Coddy logo textTech

도전 과제 - 점수 점검

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

challenge icon

챌린지

전문가

scoreAudit를 매개변수 rows: List<String>와 함께 완성하세요. 각 행은 name:score 형식입니다. :으로 분할했을 때 정확히 두 개의 필드가 생성되지 않거나, 공백을 제거한 이름이 [a-z]+과 일치하지 않거나, 공백을 제거한 점수가 0부터 100까지의 Int로 파싱되지 않는 행은 무시하세요. 이름이 반복되는 경우 가장 최근의 유효한 점수를 유지하세요. 유효하지 않은 행은 이전 점수를 대체하지 않습니다. 점수가 높은 순서로 name=score 항목을 반환하고, 점수가 같으면 알파벳순으로 정렬하세요.

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

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

직접 해보기

fun scoreAudit(rows: List<String>): List<String> {
    // 여기에 솔루션을 작성하세요.
    return emptyList()
}
fun main() {
    val rowsCount = readln().toInt()
    val rows = mutableListOf<String>()
    for (i0 in 0 until rowsCount) {
        val rowsItem = readLine().orEmpty()
        rows.add(rowsItem)
    }
    println(scoreAudit(rows))
}

논리와 흐름의 모든 레슨

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