Menu
Coddy logo textTech

Riepilogo - Classifica

Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 32 di 56.

challenge icon

Sfida

Medio

Stai creando una classifica. Leggi una singola riga di input: un elenco di voci name:score separate da virgole. Alcune voci hanno un punteggio non intero e vanno ignorate (usa compactMap).

Stampa i primi tre giocatori in ordine di punteggio decrescente, uno per riga, nel formato:

<rank>. <name> - <score>

Le posizioni iniziano da 1. In caso di parità, ordina i nomi alfabeticamente. Se ci sono meno di tre voci valide, stampale tutte.

Dopo la classifica, stampa Avg: <n> con la media intera di tutti i punteggi validi (arrotondata verso zero, senza decimali). Se non ci sono voci valide, stampa Avg: 0.

Per l'input alice:90,bob:bad,cara:85,dan:90,eve:70,fin:99, l'output è:

1. fin - 99
2. alice - 90
3. dan - 90
Avg: 86

Provalo tu

let entries = readLine()!.components(separatedBy: ",")

// TODO: usa compactMap per ottenere (name, score); ordina per score decrescente, usando name per risolvere le parità;
// stampa i primi 3; poi la media di tutti gli score validi

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Swift