단어 분석기
Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 77번째.
챌린지
어려움텍스트 문자열 내의 단어들을 분석하는 analyze_text라는 이름의 함수를 작성하세요.
함수는 다음을 수행해야 합니다:
- 고유한 단어의 수를 셉니다 (대소문자 구분 없음)
- 두 번 이상 나타나는 모든 단어를 찾습니다
- 모든 회문(palindrome) 단어(앞뒤로 읽었을 때 "level"처럼 똑같은 단어)를 식별합니다
다음 세 개의 키를 가진 딕셔너리를 반환하세요:
unique_count: 고유한 단어의 수 (반복되는 단어도 한 번씩만 카운트)repeated_words: 두 번 이상 나타나는 단어들의 정렬된 리스트palindromes: 회문 단어들의 정렬된 리스트
참고 사항:
- 단어는 대소문자를 구분하지 않습니다 (예: "Hello"와 "hello"는 같은 단어입니다)
- 단어에서 모든 문장 부호
(.,!?:;"())를 제거하세요 repeated_words와palindromes리스트는 모두 알파벳 순으로 정렬하세요
입력 예시:
"Madam saw a racecar. Dad said hello hello to mom."
예상 출력:
{
'unique_count': 9,
'repeated_words': ['hello'],
'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}직접 해보기
def analyze_text(text):
# 여기에 솔루션을 작성하세요
# 1. 텍스트를 단어로 분리하고 정규화합니다
# (소문자로 변환하고 문장 부호 제거)
# 2. 각 단어의 출현 횟수를 셉니다
# 3. 고유한 단어의 수를 찾습니다
# 4. 반복되는 단어(두 번 이상 나타나는 단어)를 식별합니다
# 5. 회문(앞뒤가 같은 단어)을 찾습니다
# 6. 정렬된 리스트가 포함된 딕셔너리 형태로 결과를 반환합니다
pass