Menghitung Huruf dengan Tabel Frekuensi
Menghitung karakter menggunakan dict atau array
Menghitung Huruf dengan Tabel Frekuensi adalah pelajaran Competitive Programming Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Competitive Programming Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Competitive Programming Academy mencakup 4 pelajaran total.
Mengapa Menghitung Karakter
Banyak sekali masalah teks bermuara pada satu pertanyaan: seberapa sering setiap karakter muncul? Tabel frekuensi menjawabnya dalam satu lintasan. 📊
Cara Kamus
Dict biasa memetakan setiap karakter ke jumlah kemunculannya. Cara ini berfungsi untuk alfabet apa pun, termasuk Unicode dan simbol.
freq = {}
for ch in 'apple':
freq[ch] = freq.get(ch, 0) + 1
print(freq)get() Menghindari KeyError
Menggunakan get(ch, 0) mengembalikan 0 saat kunci tidak ditemukan, sehingga saat pertama kali melihat suatu huruf, penghitungnya mulai dengan rapi dari satu.
Counter Melakukannya untuk Anda
Kelas Counter dari collections membangun seluruh tabel dalam satu baris. Counter menjadi pilihan favorit dalam pemrograman kompetitif karena cepat dan jelas.
from collections import Counter
freq = Counter('apple')
print(freq['p']) # 2Kunci yang Hilang Mengembalikan Nol
Counter tidak pernah menimbulkan kesalahan untuk kunci yang tidak ditemukan. Meminta karakter yang belum pernah dilihat hanya menghasilkan 0, sehingga kode Anda tidak memerlukan percabangan.
from collections import Counter
c = Counter('abc')
print(c['z']) # 0Cara Larik Tetap
Untuk huruf kecil saja, daftar 26 slot bahkan lebih cepat. Indeks setiap huruf dengan perhitungan ord, lalu naikkan jumlahnya.
cnt = [0] * 26
for ch in 'apple':
cnt[ord(ch) - ord('a')] += 1Pertukaran Larik dan Dict
Larik adalah yang tercepat, tetapi hanya cocok untuk alfabet kecil yang sudah diketahui. Dict atau Counter dapat menangani karakter apa pun dengan sedikit tambahan biaya.
Temukan yang Paling Umum
Counter menyediakan most_common(k), yang mengembalikan k karakter teratas yang sudah diurutkan berdasarkan frekuensi. Anda tidak perlu mengurutkannya secara manual.
from collections import Counter
print(Counter('mississippi').most_common(1))Bandingkan Dua Tabel
Dua teks merupakan anagram tepat ketika tabel frekuensinya sama. Membandingkan dua Counter dapat dilakukan dalam satu baris.
from collections import Counter
print(Counter('listen') == Counter('silent')) # TrueSatu Lintasan Sudah Cukup
Membangun tabel membutuhkan waktu O(n), yaitu satu pemindaian terhadap teks. Setelah itu, setiap pencarian membutuhkan waktu konstan.
Kurangi untuk Menemukan Kelebihan
Counter mendukung pengurangan, sehingga Anda dapat menemukan karakter yang dimiliki satu teks tetapi tidak dimiliki teks lainnya. Teknik ini berguna untuk masalah bergaya catatan tebusan.
from collections import Counter
print(Counter('aabb') - Counter('ab'))Pemeriksaan Singkat
Satu pertanyaan tentang penghitungan karakter.
Ringkasan
Sekarang Anda dapat menghitung karakter dengan dict, Counter, atau larik 26 slot, lalu menggunakan tabel tersebut untuk menguji anagram dan menemukan huruf yang sering muncul. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menghitung Huruf dengan Tabel Frekuensi” gratis?
Ya — teks lengkap “Menghitung Huruf dengan Tabel Frekuensi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Competitive Programming Academy, upgrade ke CoddyKit PRO. Kursus Competitive Programming Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menghitung Huruf dengan Tabel Frekuensi”?
Menghitung karakter menggunakan dict atau array Kamu berlatih Competitive Programming Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Competitive Programming Academy?
Tidak diperlukan pengalaman sebelumnya. Competitive Programming Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Menghitung Huruf dengan Tabel Frekuensi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Competitive Programming Academy ini?
Ya. Setiap pelajaran Competitive Programming Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Trik Karakter, ord & chr
- Menghitung Huruf dengan Tabel Frekuensi
- Pemeriksaan Palindrom yang Tepat
- Memisahkan, Membersihkan & Menggabungkan Kembali Kata