이 글에서는 주어진 문장에서 단어의 개수를 세는 파이썬 프로그램의 풀이 과정과 접근 방식을 자세히 알아보겠습니다.
문제 정의
하나의 문장이 주어졌을 때, 해당 문장에 포함된 단어의 개수를 계산하는 것이 목표입니다.
이 문제는 크게 두 가지 방법으로 해결할 수 있습니다.
방법 1 – split() 함수 활용
split() 함수는 문자열을 공백을 기준으로 분리하여 리스트로 반환합니다. 따라서 분리된 리스트의 길이를 구하면 곧 단어의 개수와 같습니다. 가장 간단하고 직관적인 방법입니다.
예제 코드
test_string = "Tutorials point "
res = len(test_string.split())
print("문자열 내 단어의 개수 :", res)
실행 결과
문자열 내 단어의 개수 : 2
방법 2 – strip()과 isalpha() 함수 조합
문장에 쉼표나 마침표 같은 문장 부호가 섞여 있는 경우, 단순히 공백으로 나누면 정확한 결과를 얻기 어렵습니다. 이때 strip(string.punctuation)으로 각 단어 양옆의 문장 부호를 제거한 뒤, isalpha()로 알파벳으로만 구성된 항목만 골라내면 실제 단어만 정확하게 셀 수 있습니다.
예제 코드
import string
test_string = "Tutorials point "
res = sum([i.strip(string.punctuation).isalpha() for i in test_string.split()])
print("문자열 내 단어의 개수 :", res)
실행 결과
문자열 내 단어의 개수 : 2
마무리
이번 글에서는 파이썬으로 문장 내 단어 수를 세는 두 가지 방법을 살펴보았습니다. 문장 부호 없이 깔끔한 텍스트라면 split() 함수만으로도 충분하지만, 다양한 특수 문자가 포함된 텍스트를 다룰 때는 strip()과 isalpha()를 조합하는 방식이 더 정확한 결과를 제공합니다. 상황에 맞는 방법을 선택해 활용해 보시기 바랍니다.