Menu
Coddy logo textTech

Oznacz jako wykonane

Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 34 z 56.

Pierwsza funkcja: przetwarzaj listę działań „oznacz ten nawyk jako wykonany w tym dniu” i utwórz stan końcowy.

Każdy wiersz wejściowy to jedna operacja w formacie habit:day, gdzie day jest liczbą od 1 do 7. Jeśli nawyk jeszcze nie istnieje, utwórz go z pustą tablicą, a następnie dodaj do niej dzień. Jeśli dany dzień jest już zapisany dla tego nawyku, nie zapisuj go ponownie.

Oprzesz się na wzorcu domyślnej wartości z rozdziału o słownikach: habits[name, default: []].append(day) działa niezależnie od tego, czy klucz istnieje.

challenge icon

Wyzwanie

Łatwy

Wczytaj jeden wiersz danych wejściowych: listę wpisów habit:day rozdzielonych przecinkami (np. read:1,read:3,workout:2). Po zastosowaniu każdej operacji wypisz nawyki w kolejności alfabetycznej, po jednym w wierszu, w formacie:

<habit>: <days_sorted_ascending_joined_with_comma>

Pomiń zduplikowane pary habit:day.

Dla danych wejściowych read:1,read:3,workout:2,read:1,read:5,workout:4 wynikiem jest:

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

Spróbuj swoich sił

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

// TODO: dla każdego op odczytaj name:day i dodaj day, jeśli jeszcze go tam nie ma;
// następnie wypisz habits w kolejności alfabetycznej, z posortowanymi dniami
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Edytor online Swift