본문 바로가기
Python/Baekjoon

[백준] 1152번 : 단어의 개수 (Python)

by 고구마랑쪼오꼬랑 2024. 11. 25.

문제

https://www.acmicpc.net/problem/1152

 

 

 

소스 코드

str=input()
num=0

for i in str.split():
    num+=1

print(num)

 

 

정리

문자열에서의 단어의 횟수를 세는 문제이다.

이때, 입력에서 볼 수 있듯이 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다라고 조건을 달아주었다.

공백을 기준으로 문자열의 split하여 단어의 횟수를 세주면 된다.

 

[문자열 나누기 함수]

Python의 split()는 특정 문자를 기준으로 문자열을 나눈 뒤, 리스트 형태로 반환하는 함수이다.

  • 문자열.split() : 띄어쓰기 혹은 개행문자에 맞춰 문자열을 나눔
  • 문자열.split('구분자') : 구분자를 기준으로 문자열을 나눔
  • 문자열.split('구분자', 분할 횟수) : 구분자에 따라 앞에서부터 분할 횟수만큼 나누고, 나머지는 나누지 않고 리스트의 마지막 항목으로 채워 반환함
  • 문자열.split(seq='구분자', maxsplit=분할 횟수) : 위의 것과 동일함
[In]
str = 'a,b,c,d,e,f,g'
res1 = str.split(',' , 3)
res2 = str.split(sep=',' , maxsplit=3)

print(res1)
print(res2)


[Out]
['a' 'b', 'c', 'd,e,f,g']
['a' 'b', 'c', 'd,e,f,g']

 

리스트로 반환한다는걸 기억하도록!!