Rangkuman: Penghitung Frekuensi
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 37 dari 56.
Gabungkan hash dengan nilai default, iterasi, dan pengurutan dari bab-bab sebelumnya menjadi satu tantangan klasik: laporan frekuensi kata.
Tantangan
SedangBaca satu baris input, berupa kalimat. Buat mapping Hash.new(0) yang memetakan setiap kata (dipisahkan berdasarkan spasi kosong, diubah menjadi huruf kecil) ke frekuensinya.
Lalu cetak:
- Jumlah total kata unik
- Satu baris untuk setiap kata, dengan frekuensi menurun (jika frekuensinya sama, urutkan kata secara alfabetis) dalam format ini:
<word>: <count>
Untuk input the quick brown fox jumps over the lazy dog the dog, outputnya adalah:
8
the: 3
dog: 2
brown: 1
fox: 1
jumps: 1
lazy: 1
over: 1
quick: 1Coba sendiri
input = gets.chomp
# TODO: buat Hash.new(0) yang memetakan kata → jumlah, lalu cetak:
# 1) jumlah kata unik
# 2) entri yang diurutkan berdasarkan jumlah secara menurun, jika sama, berdasarkan kata secara menaik
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 Kustom7Hash Bagian 2
Hash.new dengan Nilai BawaanMenelusuri HashHash BersarangMenggabungkan dan MengubahRangkuman: Penghitung Frekuensi5Andalan 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