Sfida - Verifica dei punteggi
Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 62 di 63.
Sfida
EspertoCompleta 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
1Mappe Parte 1
Creare mappeConsultare le mappe in modo sicuroAggiornare le mappeControllare le chiaviRiepilogo - Banco di borsa4Collezioni annidate
Liste di listeAttraversare le righeRiepiloghi delle righeAppiattire liste annidateRipasso - File di posti a sedere7Pipeline di collezioni
Trasformare con MapFiltrare i valoriVerificare le regole della collezioneAccumulare con FoldRiepilogo - Totali approvati2Mappe Parte 2
Iterare sulle voci delle mappeChiavi e valoriMappe di frequenzaMappe annidateRiepilogo - Report delle frequenze5Progetto - Rubrica
Salva contattiTrova contatti3Insiemi e appartenenza
Creare insiemiAggiornare gli insiemiOperazioni sugli insiemiVerificare i sottoinsiemiRiepilogo - Ospiti dell'evento6Valori delle funzioni
Scrivere funzioni lambdaTipi di funzionePassare funzioniVariabili catturateRiepilogo - Punteggio configurabileEsercitati da solo: Playground Kotlin