Menu
Coddy logo textTech

Sfida - Verifica dei punteggi

Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 62 di 63.

challenge icon

Sfida

Esperto

Completa scoreAudit con il parametro rows: List<String>. Ogni riga è name:score. Ignora le righe a meno che la divisione su : produca esattamente due campi, il nome senza spazi iniziali o finali corrisponda a [a-z]+ e il punteggio senza spazi iniziali o finali venga convertito in un Int compreso tra 0 e 100. In caso di nomi ripetuti, conserva l'ultimo punteggio valido; le righe non valide non sostituiscono mai i punteggi precedenti. Restituisci voci nel formato name=score ordinate per punteggio decrescente, risolvendo le parità in ordine alfabetico.

A meno che non siano indicati limiti più restrittivi sopra, le raccolte contengono al massimo 100 elementi a ogni livello e gli argomenti interi e i valori interi nelle raccolte sono compresi tra -1000 e 1000. Il testo fornito per l'analisi può includere rappresentazioni non valide o fuori dall'intervallo, come descritto.

Restituisci un valore di tipo List<String>. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; una lista inizia con il numero dei suoi elementi, seguito dagli elementi, e una mappa inizia con il numero delle sue voci, seguito da ogni chiave e valore. Le liste annidate ripetono il formato con numero di elementi e relativi elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Le liste usano il formato standard tra parentesi quadre di Kotlin; non stampare etichette aggiuntive.

Provalo tu

fun scoreAudit(rows: List<String>): List<String> {
    // Scrivi qui la tua soluzione.
    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))
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Kotlin