Menu
Coddy logo textTech

Segna come completato

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

La prima funzionalità: elaborare un elenco di azioni «segna questa abitudine come completata in questo giorno» e produrre uno stato finale.

Ogni riga di input è un'operazione nel formato habit:day, dove day è compreso tra 1 e 7. Se l'abitudine non esiste ancora, creala con un array vuoto, poi aggiungi il giorno. Se un giorno è già registrato per quell'abitudine, non registrarlo due volte.

Ti baserai sul modello di valore predefinito con pedice del capitolo sui dizionari: habits[name, default: []].append(day) funziona sia che la chiave esista sia che non esista.

challenge icon

Sfida

Facile

Leggi una singola riga di input: un elenco separato da virgole di voci habit:day (ad es. read:1,read:3,workout:2). Dopo aver applicato ogni operazione, stampa le abitudini in ordine alfabetico, una per riga, nel formato:

<habit>: <days_sorted_ascending_joined_with_comma>

Salta le coppie habit:day duplicate.

Per l'input read:1,read:3,workout:2,read:1,read:5,workout:4, l'output è:

read: 1,3,5
workout: 2,4

Provalo tu

var habits: [String: [Int]] = [:]
let ops = readLine()!.components(separatedBy: ",")

// TODO: per ogni op, analizza name:day e aggiungi day se non è già presente;
// poi stampa habits in ordine alfabetico, con i giorni ordinati
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Swift