728x90
https://www.acmicpc.net/problem/1152
문자열에서 단어는 공백으로 구분된다.
따라서 문자열 안에 있는 공백의 개수를 세거나, 문자열을 단어 단위로 나눠서 그 개수를 세는 방법으로 풀이가 가능하다.
1. 단어 단위로 나눠서 개수를 세는 방법
import sys
s = sys.stdin.readline().split()
sum = 0
for i in s:
sum += 1
print(sum)
1 : s에 문자열을 입력 받고 공백을 기준으로 나눈다.
The Curious Case of Benjamin Button이라는 문자열을 입력하면
['The', 'Curious', 'Case', 'of', 'Benjamin', 'Button']으로 분리된다.
2 : 반복문으로 각 원소에 접근하면서 sum에 1의값을 더해주는 방식으로 문자열 내의 단어 개수를 센다.
2. 공백의 개수를 세는 방법
s=input().strip()
print(s.count(" ")+1 if len(s) else 0)
strip()함수는 문자열의 앞 뒤 공백을 제거한다.
맨 앞에 공백이 포함되어 있는 경우에도 공백의 개수를 정확하게 셀 수 있도록 한다.
문자열 내의 공백의 개수 + 1은 문자열 내의 단어의 개수와 같다.
len함수를 이용하여 입력받은 문자열의 길이가 0일때 0을 출력할 수 있도록 한다.
728x90
'알고리즘 문제 풀이' 카테고리의 다른 글
[python] 백준 2920 : 음계 (0) | 2022.01.28 |
---|---|
[python] 백준 2908 : 상수 (0) | 2022.01.27 |
[python] 백준 2884 : 알람시계 (0) | 2022.01.23 |
[python] 백준 2577 : 숫자의 개수 (0) | 2022.01.22 |
[python] 알고리즘 문제 풀이에 자주 사용되는 함수 정리(계속 추가됨) (0) | 2022.01.19 |