문제
영문 대소문자와 공백으로 구성된 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 포함되어 있습니까? 얻을 수 있는 프로그램을 작성하세요. 그러나 단어가 두 번 이상 나오는 경우 모든 항목을 계산해야 합니다.
기입
첫 번째 줄에는 영문 대소문자와 공백으로 구성된 문자열을 지정합니다. 이 문자열의 길이는 1,000,000을 초과할 수 없습니다. 단어는 연속 공백 없이 단일 공백으로 구분됩니다. 문자열은 공백으로 시작하거나 끝날 수도 있습니다.
누르다
첫 줄의 단어 수를 반환합니다.
1152: 단어 수
첫 번째 줄에는 영문 대소문자와 공백으로 구성된 문자열을 지정합니다. 이 문자열의 길이는 1,000,000을 초과할 수 없습니다. 단어는 연속 공백 없이 단일 공백으로 구분됩니다. 또한 코드
www.acmicpc.net
예시 입력 1
The Curious Case of Benjamin Button
예제 출력 1
6
샘플 입력 2
The first character is a blank
샘플 출력 2
6
설명
word = input().split(' ')
if word(0) == '':
word.pop(0)
if word(-1) == '':
word.pop(-1)
print(len(word))
공백을 기반으로 하는 문자열을 잘라내어 Word라는 목록에 붙여넣습니다.
왜 이것이 목록입니까? 입력().분할() 함수를 사용하면 목록이 생성되기 때문입니다.
문자열을 입력할 때 문자열을 제거하기 위해 문자열 앞뒤에 공백이 있을 수 있습니다. 팝() 제거하는 기능을 사용해보십시오.
목록의 첫 번째 항목은 숫자 0이므로 Word(0)은 문자열 시작 부분의 공백 또는 문자를 의미합니다.
따라서 목록의 마지막 항목은 -1입니다. Word(-1)은 문자열 끝에 있는 공백이나 문자를 의미합니다.
리스트의 길이는 단어의 개수를 의미하므로 이 두 개를 제거하면 리스트의 길이가 출력됩니다.