Menu
Coddy logo textTech

요약 - 단어 빈도

Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨 — 56개 중 29번째.

challenge icon

챌린지

쉬움

std::map을 사용하여 텍스트 구절의 단어 빈도를 계산하는 프로그램을 작성하세요. 프로그램은 각 고유 단어가 나타나는 횟수를 추적한 다음, 특정 단어의 빈도를 보고합니다.

다음과 같은 입력이 제공됩니다:

  • 텍스트에 포함된 단어의 수를 나타내는 정수 n
  • 텍스트의 단어들을 나타내는 n개의 문자열
  • 빈도를 확인할 대상 단어를 나타내는 문자열

프로그램은 다음을 수행해야 합니다:

  1. wordCount라는 이름의 std::map<std::string, int>를 생성합니다.
  2. 단어의 수를 읽습니다.
  3. 각 단어에 대해, 단어를 읽고 대괄호 연산자와 증가 연산자를 사용하여 맵에서 해당 단어의 개수를 업데이트합니다.
  4. 확인할 대상 단어를 읽습니다.
  5. 아래에 표시된 형식을 사용하여 대상 단어의 빈도를 출력합니다.

다음과 같은 정확한 출력 형식을 사용하세요:

The word "[target_word]" appears [frequency] times

대상 단어가 맵에 존재하지 않는 경우, 대괄호 연산자로 접근하면 자동으로 개수가 0인 항목이 생성되므로, 단어의 존재 여부를 먼저 확인하지 않고도 안전하게 빈도를 출력할 수 있습니다. 단어를 읽을 때마다 wordCount[word]++를 사용하여 개수를 증가시키세요. 이렇게 하면 새로운 단어에 대해서는 개수가 1인 새 항목이 생성되고, 이미 나타난 단어에 대해서는 기존 개수가 증가합니다.

직접 해보기

#include <iostream>
#include <map>
#include <string>
using namespace std;

int main() {
    // 단어의 개수를 읽습니다
    int n;
    cin >> n;
    
    // 단어 빈도를 저장할 맵을 생성합니다
    map<string, int> wordCount;
    
    // TODO: 여기에 코드를 작성하세요
    // n개의 단어를 읽고 맵에서 해당 단어의 빈도를 업데이트합니다
    // 그 다음 대상 단어를 읽고 해당 단어의 빈도를 출력합니다
    
    return 0;
}

로직과 흐름의 모든 레슨