Menu
Coddy logo textTech

요약 - 단어 카운터

Coddy Rust 여정의 Logic & Flow 섹션에 포함된 레슨 — 66개 중 34번째.

challenge icon

챌린지

쉬움

문장을 입력으로 받습니다. 문장에서 각 단어가 나타나는 횟수를 세어 해시 맵(hash map)에 저장하세요. 그런 다음 각 고유 단어와 해당 단어의 빈도수를 출력하세요.

요구 사항:

  • std::collections에서 HashMap을 임포트하세요.
  • HashMap<String, i32> 타입을 가진 가변(mutable) 해시 맵을 생성하세요.
  • 입력 문장을 한 줄로 읽으세요.
  • .split_whitespace()를 사용하여 문장을 개별 단어로 분리하세요.
  • 각 단어에 대해, .entry().or_insert(0)를 사용하여 단어가 존재하지 않을 경우 빈도수를 0으로 초기화하세요.
  • .or_insert(0)를 사용한 후, 해당 단어의 빈도수를 1 증가시키세요.
  • 모든 단어를 처리한 후, 해시 맵을 순회하며 각 단어와 빈도수를 [word]: [count] 형식으로 출력하세요.

입력:

  • 공백으로 구분된 단어들이 포함된 한 줄의 문장 (예: hello world hello rust world hello)

출력:

  • 각 고유 단어에 대해 [word]: [count] 형식으로 한 줄씩 출력합니다.
  • 출력되는 줄의 순서는 테스트 실행마다 다를 수 있습니다.

직접 해보기

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

fn main() {
    // 입력 문장 읽기
    let mut sentence = String::new();
    io::stdin().read_line(&mut sentence).expect("Failed to read line");
    let sentence = sentence.trim();
    
    // 단어 빈도수를 저장하기 위한 가변 해시 맵 생성
    let mut word_count: HashMap<String, i32> = HashMap::new();
    
    // TODO: 아래에 코드를 작성하세요
    // 문장을 단어로 분리하고 각 단어의 개수를 셉니다
    
    
    // 각 단어와 해당 빈도수를 출력합니다
    
}

Logic & Flow의 모든 레슨