
- 티어 : Bronze 2
- 정답여부 :
오답- 알고리즘 유형 :
구현,문자열- 시간 제한 :
2초
영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.
첫째 줄에 단어의 개수를 출력한다.
The Curious Case of Benjamin Button
6
The first character is a blank
6
The last character is a blank
6
공백을 기준으로 단어를 세면 되는 문제
pythonword = input() count = 0 for i in word: if i != " ": count += 1 print(count)
첫번째 단어에 공백이 있으면 count ++ 를 안 하면 되지 않을까? 했지만 바보같은 생각이다... 초반 코드를 이렇게 잡아보니 단어를 하나씩 읽는거 ;;; 예를 들어서 abc efg 2개를 읽어야 하는데 a , b ,c, e, f, 이렇게 6개를 읽음…
pythonword = input() word_list = word.split() #split를 통해 공백으로 기준을 분리 count = len(word_list) print(count)
그래서 split를 사용하여 단어의 공백으로 분리하여 구함 예를 들어 Hello word를 작성하면 Hello와 word를 따로 분리 그 다음 len() 함수를 이용하여 단어의 개수를 구함