728x90
#백준 1152 : 단어의 개수
text = input()
if len(text)>1000000:
print("잘못 입력했습니다.")
else:
words = text.split(' ')
cnt = 0
for i in words:
if i.isalpha():
cnt+=1
print(cnt)
공백으로 구분된 단어 개수 세기
words = len(text.split(' '))
하지만 문제에서 문자열은 공백으로 시작하거나 끝날 수 있으므로 isalpha()를 이용해서 단어 개수를 구했다.
그런데 찾아보니까 split(' ')과 split()의 차이가 있더라.
이번 문제는 아래 코드처럼 풀어도 정답이다.
word = input()
print(len(word.split()))
split()은 공백이 여러개라도 1개로 처리한다!!! 또한 \t, \n도 처리한다!
# 문자열인지 확인하는 함수 - isalpha()
문자열이 모두 알파벳으로 이루어져 있으면 True, 아니면 False 리턴
i.isalpha()
# 숫자인지 확인하는 함수 - isdigit()
문자열이 모두 숫자이면 True, 아니면 False 리턴
num.isdigit()
'Algorithm > Baekjoon' 카테고리의 다른 글
#백준 5622 다이얼, 파이썬 in, not in 연산자 (0) | 2022.06.29 |
---|---|
#백준 2908 상수, 파이썬 (0) | 2022.06.29 |
#백준 1157 단어 공부, 파이썬 대문자/소문자 변경 함수, set, count 함수 (0) | 2022.06.29 |
#백준 2675 문자열 반복, 파이썬 공백으로 구분해서 입력받기, split함수 (0) | 2022.06.28 |
#백준 10809, 파이썬 아스키코드 변환, 반복문 (0) | 2022.06.28 |