nan + nan = 2nan

[백준][Python3] #1152. 단어의 개수 본문

Python/백준 알고리즘

[백준][Python3] #1152. 단어의 개수

2nan 2023. 1. 15. 00:12
728x90


코드 입력

text = input()

print(len(text.strip().split()))

 

문제를 읽고 너무 쉽다 생각해서 그냥 바로 풀었는데, 의외로 막힌 문제다.

split()과 split(' ')의  차이 때문인가.. 처음엔 문제를 잘못 읽은 줄 알고 몇 번이고 다시 읽었다.

- 단어가 중복되도 count는 그대로 한다

- 공백은 한 개로 단어를 구분한다

- 공백이 연속해서 나올 수 없다

- 문자열 앞뒤에 공백이 있을 수 있다

해당 조건들을 바탕으로 만든 코드는

text = input()

print(len(text.strip().split(' ')))

였다. 몇 번을 해도 안 되길래, 검색을 해보니 split()으로 처리하면 된다더라.

split() 은 주어진 모든 공백을 하나로 처리하는 성격이 있고,

split(' ')은 문자열 사이 사이 공백만 분할점으로 이용하되, 공백이 연속해서 나오는 경우 일반 문자 다음에 나오는 공백을 제외하고 나머지 공백 하나 하나를 요소로 처리한다고 한다.

아마 테스트 케이스만 테스트를 해봤기 때문에 그럴 수 있어서 그런가보다. 공백이 연속해서 나올리 없다길래, 이렇게 처리했던 건데 문제 설정이 잘못된건지 내가 잘못된건지 알 수가 없다.


출처 : 백준 Online Judge

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

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열

www.acmicpc.net

 

Comments