Analisis Kata
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 54 dari 56.
Tantangan mandiri yang menguji pemahamanmu tentang string, hash, Hash.new(0), dan method Enumerable sekaligus.
Tantangan
SedangBaca satu baris input, yaitu sebuah kalimat. Analisis dan cetak tiga baris:
- Jumlah kata unik (tanpa membedakan huruf besar dan kecil, dengan tanda baca dihapus). Kata yang berulang tetap dihitung satu kali.
- Kata-kata yang berulang (muncul lebih dari satu kali), diurutkan menurut abjad, lalu digabung dengan
,. Jika tidak ada, cetak(none). - Kata-kata palindrom, yaitu kata yang dibaca sama dari depan maupun belakang, dengan panjang ≥ 2, diurutkan menurut abjad, lalu digabung dengan
,. Jika tidak ada, cetak(none).
Hapus karakter .,!?:;"() dari setiap kata sebelum memprosesnya. Ubah semuanya menjadi huruf kecil untuk perbandingan.
Untuk input Madam saw a racecar. Dad said hello hello to mom., output-nya adalah:
9
hello
dad, madam, mom, racecarCoba sendiri
input = gets.chomp
# TODO: pisahkan, hapus tanda baca, ubah menjadi huruf kecil, lalu cetak:
# jumlah kata unik, kata yang berulang, palindrom (panjang >= 2)
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Ringkasan Method StringInterpolasi StringMenelusuri StringMemisahkan dan MenggabungkanRekap: Perangkai String4Block, Proc, dan Lambda
Apa Itu Block?do..end vs Kurung KurawalKata Kunci yieldParameter BlockProc dan LambdaRangkuman, Iterator Kustom5Andalan Enumerable
Select dan RejectMerangkai MapReduce / Injectcount, all?, any?, none?group_by dan partitionsort_by, min_by, max_byRekap: Alur Data8Pengambilan Keputusan Lanjutan
Case dengan class & regexwhen dengan Banyak NilaiOperator Ternaryif / unless SebarisUlasan, Pengklasifikasi NilaiLatihan sendiri: Compiler Ruby online