Menu
Coddy logo textTech

Özet - Kelime Sayacı

Coddy'nin Rust Journey'sinin Logic & Flow bölümünün bir parçası — ders 34 / 66.

challenge icon

Görev

Kolay

Girdi olarak bir cümle alacaksınız. Cümledeki her bir kelimenin kaç kez geçtiğini sayın ve bu sayıları bir hash map içinde saklayın. Ardından, her bir benzersiz kelimeyi sayısıyla birlikte yazdırın.

Gereksinimler:

  • std::collections modülünden HashMap yapısını içe aktarın
  • HashMap<String, i32> türlerinde değiştirilebilir (mutable) bir hash map oluşturun
  • Girdi cümlesini tek bir satır olarak okuyun
  • Cümleyi .split_whitespace() kullanarak tekil kelimelere ayırın
  • Her kelime için, kelime mevcut değilse sayıyı 0 olarak başlatmak için .or_insert(0) ile birlikte .entry() metodunu kullanın
  • .or_insert(0) kullandıktan sonra, o kelime için sayıyı 1 artırın
  • Tüm kelimeleri işledikten sonra, hash map üzerinde döngü kurun ve her kelimeyi sayısıyla birlikte şu formatta yazdırın: [word]: [count]

Girdi:

  • Kelimelerin boşluklarla ayrıldığı bir cümle içeren tek bir satır (örneğin, hello world hello rust world hello)

Çıktı:

  • Her benzersiz kelime için şu formatta bir satır: [word]: [count]
  • Çıktı satırlarının sırası test çalışmaları arasında farklılık gösterebilir

Kendin dene

use std::collections::HashMap;
use std::io;

fn main() {
    // Giriş cümlesini oku
    let mut sentence = String::new();
    io::stdin().read_line(&mut sentence).expect("Failed to read line");
    let sentence = sentence.trim();
    
    // Kelime sayılarını saklamak için değiştirilebilir bir hash map oluştur
    let mut word_count: HashMap<String, i32> = HashMap::new();
    
    // TODO: Kodunuzu aşağıya yazın
    // Cümleyi kelimelere ayırın ve her kelimeyi sayın
    
    
    // Her kelimeyi sayısıyla birlikte yazdırın
    
}

Logic & Flow bölümündeki tüm dersler