고유 단어 수 세기
Coddy Dart 여정의 로직 & 흐름 섹션에 포함된 레슨 — 65개 중 55번째.
챌린지
쉬움텍스트 분석기 프로젝트를 계속 진행하면서, 이제 고유 단어 수 계산 기능을 구현하게 됩니다. 이 단계에서는 Set을 사용하여 단어 목록에서 중복을 자동으로 제거함으로써 텍스트에 나타나는 서로 다른 단어가 몇 개인지 결정합니다.
- 이전 설정에서 사용한
textToAnalyze변수를 사용하세요. - 문자 수 계산 단계에서 사용한
totalCharacters변수를 사용하세요. - 단어 분리 단계에서 사용한
wordList변수를 사용하세요. - 단어 수 계산 단계에서 사용한
totalWords변수를 사용하세요. - 중복 단어를 자동으로 제거하기 위해
Set.from()을 사용하여 단어 목록을 Set으로 변환하세요. - 결과 Set을
uniqueWordsSet이라는 변수에 저장하세요. - Set의
.length속성을 사용하여 고유 단어의 수를 계산하세요. - 고유 단어 수를
uniqueWordCount라는 변수에 저장하세요. - 고유 단어 분석 결과를 아래에 표시된 정확한 형식으로 출력하세요.
- 원본 텍스트, 문자 수, 단어 목록, 총 단어 수, 고유 단어 Set, 고유 단어 수를 적절한 형식으로 표시하세요.
예를 들어, 텍스트 분석기가 "Hello world hello"로 설정되었다면, 프로그램은 다음과 같이 출력해야 합니다:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "Hello world hello"
Total characters: 17
Words found: [Hello, world, hello]
Total words: 3
====================================
Unique Word Analysis Results:
Unique words: {Hello, world, hello}
Unique word count: 3
====================================
Unique word analysis completed successfully.텍스트 분석기가 "The cat and the dog"로 설정되었다면, 프로그램은 다음과 같이 출력해야 합니다:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "The cat and the dog"
Total characters: 19
Words found: [The, cat, and, the, dog]
Total words: 5
====================================
Unique Word Analysis Results:
Unique words: {The, cat, and, the, dog}
Unique word count: 4
====================================
Unique word analysis completed successfully.텍스트 분석기가 "apple banana apple cherry banana"로 설정되었다면, 프로그램은 다음과 같이 출력해야 합니다:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "apple banana apple cherry banana"
Total characters: 33
Words found: [apple, banana, apple, cherry, banana]
Total words: 5
====================================
Unique Word Analysis Results:
Unique words: {apple, banana, cherry}
Unique word count: 3
====================================
Unique word analysis completed successfully.프로그램은 Set.from()을 사용하여 단어 목록을 Set으로 변환해야 하며, 이는 고유한 단어는 유지하면서 중복된 단어를 자동으로 제거합니다. Set의 .length 속성은 고유 단어의 수를 제공합니다. 이 분석은 텍스트의 어휘 풍부도를 식별하는 데 도움이 되며, 다음 강의에서 다른 지표들과 함께 사용될 것입니다.
직접 해보기
import 'dart:io';
void main() {
String? textToAnalyze = stdin.readLineSync();
int totalCharacters = textToAnalyze!.length;
List<String> wordList = textToAnalyze.split(' ');
int totalWords = wordList.length;
print('Text Analysis Tool - Word Count');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('Total characters: $totalCharacters');
print('Words found: $wordList');
print('====================================');
print('Word Count Results:');
print('Total words: $totalWords');
print('====================================');
print('Word counting completed successfully.');
}로직 & 흐름의 모든 레슨
1고급 리스트 조작
리스트 속성: first 및 last리스트 상태: isEmpty 및 isNotEmpty리스트 뒤집기리스트에 추가: insert리스트 요소 제거: removeWhere리스트에서 찾기: indexOf리스트 정렬리스트 섞기요약 - 리스트 정리 도구