요약 - 단어 빈도
Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨 — 56개 중 29번째.
챌린지
쉬움std::map을 사용하여 텍스트 구절의 단어 빈도를 계산하는 프로그램을 작성하세요. 프로그램은 각 고유 단어가 나타나는 횟수를 추적한 다음, 특정 단어의 빈도를 보고합니다.
다음과 같은 입력이 제공됩니다:
- 텍스트에 포함된 단어의 수를 나타내는 정수
n - 텍스트의 단어들을 나타내는
n개의 문자열 - 빈도를 확인할 대상 단어를 나타내는 문자열
프로그램은 다음을 수행해야 합니다:
wordCount라는 이름의std::map<std::string, int>를 생성합니다.- 단어의 수를 읽습니다.
- 각 단어에 대해, 단어를 읽고 대괄호 연산자와 증가 연산자를 사용하여 맵에서 해당 단어의 개수를 업데이트합니다.
- 확인할 대상 단어를 읽습니다.
- 아래에 표시된 형식을 사용하여 대상 단어의 빈도를 출력합니다.
다음과 같은 정확한 출력 형식을 사용하세요:
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;
}