처음에 어떻게 풀어야될지 모르겠다가, 어제 공부한 regex가 생각나서 이를 이용했다:
import re
import sys
word = str(sys.stdin.readline().strip())
new_word = word.lower()
w = re.compile('[a-z]+')
m = w.findall(new_word)
print(len(m))
word에 문자열을 입력하게끔 하고, new_word에 이 word를 모두 소문자로 고친 문자로 변환 시켜준다.
w를 컴파일된 정규 표현식 객체로 만들어주고, 이 정규 표현식은 [a-z]+로, 알파벳 a 부터 z까지 1회 이상은 반복되어야 함을 의미한다. m에 new_word를 가진 문자를 w에서 찾아서 m 이라는 리스트를 만들어주고, 이 리스트의 길이를 출력하면 단어의 개수가 된다.
'알고리즘 테스트 > 백준 문제풀이 및 해설' 카테고리의 다른 글
<백준 문제풀이: 5622번> 파이썬 - 다이얼 (0) | 2020.11.17 |
---|---|
<백준 문제풀이: 2908번> 파이썬 - 상수 (0) | 2020.11.16 |
<백준 문제풀이: 1157번> 파이썬 - 단어 공부 (0) | 2020.11.14 |
<백준 문제풀이: 2675번> 파이썬 - 문자열 반복 (0) | 2020.11.13 |
<백준 문제풀이: 10809번> 파이썬 - 알파벳 찾기 (0) | 2020.11.12 |