Tandai Selesai
Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 34 dari 56.
Fitur pertama: memproses daftar tindakan "tandai kebiasaan ini selesai pada hari ini" dan menghasilkan keadaan akhir.
Setiap baris input adalah satu operasi dengan format habit:day, dengan day antara 1 dan 7. Jika habit belum ada, buat habit tersebut dengan array kosong, lalu tambahkan harinya. Jika suatu hari sudah tercatat untuk habit tersebut, jangan mencatatnya dua kali.
Kamu akan mengandalkan pola subskrip default dari bab dictionary: habits[name, default: []].append(day) berfungsi baik saat kuncinya ada maupun tidak.
Tantangan
MudahBaca satu baris input: daftar entri habit:day yang dipisahkan koma (misalnya, read:1,read:3,workout:2). Setelah menerapkan setiap operasi, cetak habit dalam urutan alfabetis, satu per baris, dengan format:
<habit>: <days_sorted_ascending_joined_with_comma>Lewati pasangan habit:day yang duplikat.
Untuk input read:1,read:3,workout:2,read:1,read:5,workout:4, output-nya adalah:
read: 1,3,5
workout: 2,4Coba sendiri
var habits: [String: [Int]] = [:]
let ops = readLine()!.components(separatedBy: ",")
// TODO: untuk setiap op, uraikan name:day, tambahkan day jika belum ada;
// lalu cetak habits menurut urutan abjad dengan daftar hari yang sudah diurutkan
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Jumlah dan indeksHuruf besar, huruf kecil, dan hapus spasiMencari dalam stringMemisahkan dan menggabungkanMengganti substringUlasan: Memeriksa nama pengguna4set
Membuat setGabungan dan IrisanSelisih dan Selisih SimetrisHimpunan Bagian dan Himpunan SupersetRingkasan: Filter Tag7Proyek: Pelacak Kebiasaan
Gambaran Umum ProyekTandai Selesai2Rentang dan Langkah
Rentang Tertutup vs Setengah TerbukaLangkahMetode RentangRentang dalam SwitchRangkuman: Kisi KalenderLatihan sendiri: Playground Swift