0Pricing
Competitive Programming Academy · Pelajaran

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'])  # 2

Kunci 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'])  # 0

Cara 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')] += 1

Pertukaran 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'))  # True

Satu 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

  1. Trik Karakter, ord & chr
  2. Menghitung Huruf dengan Tabel Frekuensi
  3. Pemeriksaan Palindrom yang Tepat
  4. Memisahkan, Membersihkan & Menggabungkan Kembali Kata
← Kembali ke Competitive Programming Academy