Pencari Pola
Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 77 dari 78.
Tantangan
MudahBuat fungsi bernama count_pattern yang menerima dua argumen: text dan pattern. Fungsi ini harus mengembalikan jumlah kemunculan pattern di dalam text, termasuk kemunculan yang saling tumpang tindih.
Kamu akan menerima dua baris input:
- String text yang akan ditelusuri
- String pattern yang akan dicari
Panggil fungsi dengan input yang diberikan, lalu cetak hasilnya.
Petunjuk:
- Gunakan
nchar()untuk mendapatkan panjang string - Gunakan
substr(text, start, stop)untuk mengambil substring - Telusuri setiap posisi awal yang valid dan periksa apakah substring cocok dengan pattern
Contohnya, jika inputnya adalah:
ababa
abaOutputnya harus berupa:
2Penjelasan: Pattern "aba" muncul di posisi 1 (ababa) dan posisi 3 (ababa), jadi jumlahnya adalah 2.
Jika inputnya adalah:
mississippi
issiOutputnya harus berupa:
2Coba sendiri
# Baca input
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Buat fungsi bernama count_pattern yang menerima text dan pattern
# dan mengembalikan jumlah kemunculan pattern yang saling tumpang tindih dalam text
# Panggil fungsi tersebut dan cetak hasilnya
print(count_pattern(text, pattern))Semua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika (AND, OR)Operator Logika Bagian 2 (NOT)Rangkuman: Logika SederhanaLogika Tervektorisasi Bagian 1Logika Tervektorisasi Bagian 27Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input Pengguna10FizzBuzz dengan Sentuhan Unik
Ikhtisar PermainanFungsi FizzBuzz2Variabel dan Tipe Data
Tipe Data NumerikTipe Data IntegerTipe Data KarakterTipe Data LogikaMemeriksa Tipe DataKonvensi PenamaanNilai yang Hilang: NARingkasan: Membuat Variabel8Perulangan
For LoopWhile LoopBreakBerikutnya (Continue)Ringkasan: FaktorialPembuatan Urutan (seq, :)Loop BersarangRingkasan: Input Dinamis3Operator Bagian 1
Operator AritmetikaPembagian Bilangan Bulat dan ModuloOperator PenugasanRangkuman: Matematika SederhanaOperator Perbandingan6Dasar input/output
Cetak outputcat untuk outputOutput dengan variabelMembaca input dengan readline()Dasar konversi tipe dataRingkasan: Kalkulator usiaRingkasan: Benar atau salah9Fungsi
Mendeklarasikan FungsiArgumen FungsiNilai KembalianUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Parameter Default12Melakukan Iterasi pada Urutan
Mengiterasi Elemen VektorMenggunakan seq_along()Mengiterasi Karakter (strsplitFungsi Manipulasi stringLatihan sendiri: Compiler R online