Pencari Pola
Termasuk bagian Dasar-Dasar dalam perjalanan Swift di Coddy. Pelajaran 85 dari 86.
Tantangan
MudahBaca dua baris input: baris pertama adalah teks yang akan ditelusuri, dan baris kedua adalah pola yang dicari.
Hitung berapa kali pola muncul dalam teks, termasuk kemunculan yang saling tumpang tindih, lalu cetak jumlahnya.
Persyaratan:
- Baca string teks dari baris pertama input
- Baca string pola dari baris kedua input
- Telusuri teks dan periksa pola di setiap posisi
- Hitung semua kemunculan, termasuk kecocokan yang saling tumpang tindih
- Cetak jumlah total sebagai satu bilangan bulat
Petunjuk: Untuk mengambil substring yang dimulai pada indeks i dengan panjang tertentu, kamu bisa menggunakan slicing string dengan indeks. Ubah string menjadi array karakter atau gunakan manipulasi indeks string di Swift untuk memeriksa apakah pola cocok di setiap posisi.
Contoh:
Jika inputnya adalah:
ababa
abaOutput-nya adalah:
2Pola "aba" muncul pada indeks 0 dan indeks 2 di dalam "ababa".
Coba sendiri
// Baca input
let text = readLine()!
let pattern = readLine()!
// TODO: Tulis kodemu di bawah ini
// Hitung berapa kali pattern muncul dalam text (termasuk kemunculan yang saling tumpang tindih)
// Tampilkan hasilnya sebagai output
print(count)Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganUlasan: Matematika SederhanaOperator Perbandingan7I/O Dasar
Fungsi printInterpolasi stringInput ReadLineKonversi tipe dataRangkuman: Sampai 120Rangkuman: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianLabel ArgumenUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Default13Melakukan Perulangan pada Urutan
Melakukan Perulangan pada ElemenMetode EnumerasiMelakukan Perulangan pada String P1Melakukan Perulangan pada String P22Variabel
let vs varAnotasi TipeBilanganstringBooleanKonvensi PenamaanRingkasan: Inisialisasi Variabel5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 3Operator Ternary8Kalkulator Pembagi Tagihan
Pesan SambutanMendapatkan Input11FizzBuzz dengan Variasi
Gambaran Umum PermainanFungsi FizzBuzz3Optional
Apa Itu OptionalMembuka Optional dengan If LetGuard LetOperator Nil CoalescingUlasan: Membuka Optional dengan Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaPernyataan SwitchSwitch dengan Rentang9Perulangan
For-In LoopWhile LoopRepeat-While LoopBreakContinueRingkasan: FaktorialRentang dalam LoopLoop BersarangRingkasan: Input DinamisLatihan sendiri: Playground Swift