Pencari Pola
Termasuk bagian Dasar-Dasar dalam perjalanan Ruby di Coddy. Pelajaran 87 dari 88.
Tantangan
MudahBaca string dari input dan temukan pola berulang terkecil yang membentuk seluruh string.
Pola yang valid harus:
- Memiliki panjang yang membagi habis panjang total string
- Jika diulang sebanyak jumlah yang sesuai, menghasilkan kembali string asli dengan tepat
Jika string tersusun dari pola berulang, cetak pola terkecil tersebut. Jika tidak ada pola berulang, cetak string asli.
Untuk memeriksa apakah suatu pola cocok, kamu bisa menggunakan perkalian string: pattern * count membuat string baru dengan mengulang pola tersebut.
Misalnya, jika inputnya adalah abcabcabc, outputnya adalah:
abcJika inputnya adalah xyxyxyxy, outputnya adalah:
xyJika inputnya adalah aaaa, outputnya adalah:
aJika inputnya adalah hello, outputnya adalah:
helloJika inputnya adalah abcdef, outputnya adalah:
abcdefCoba sendiri
# Baca string input
s = gets.chomp
# TODO: Tulis kodemu di bawah ini
# Temukan pola berulang terpendek yang membentuk seluruh string
# Petunjuk: Periksa panjang pola yang membagi panjang string tanpa sisa
# Gunakan perkalian string (pattern * count) untuk memeriksa apakah suatu pola cocok
result = s # Ganti ini dengan solusimu
# Tampilkan hasilnya sebagai output
puts resultSemua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ringkasan: Logika SederhanaOperator Logika Bagian 3Operator Logika Bagian 47Kalkulator Pembagian Tagihan
Pesan Selamat DatangMengambil input dari Pengguna10FizzBuzz dengan Variasi
Gambaran Umum PermainanMetode FizzBuzz2Variabel dan Tipe Data
Angka dan VariabelTipe Data stringTipe Data booleanTipe Data SymbolMemeriksa Tipe DataKonvensi PenamaanRangkuman: Membuat Variabel5Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaIf - Else BersarangPernyataan Unless8Perulangan
For Loop dengan RentangWhile LoopBreakNextRangkuman: FaktorialTimes LoopUntil LoopPerulangan BersarangRangkuman: Input Dinamis3Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaRingkasan: Matematika SederhanaOperator Perbandingan6Dasar Input dan Output
Output dengan putsOutput dengan print dan pOutput dengan VariabelInput dengan getsMethod chompKonversi TipeRangkuman: Kalkulator UsiaRangkuman: Benar atau Salah9method
Mendefinisikan methodParameter methodNilai KembalianRangkuman: Sigma methodRangkuman: Validation methodNilai Default Parameter12Melakukan Perulangan pada Koleksi
Iterator EachEach dengan IndeksMelakukan Perulangan pada StringMap dan CollectLatihan sendiri: Compiler Ruby online