coding test

[파이썬] 1152. 단어의 개수

잔망루피 2021. 4. 28. 13:53

문제

영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.

입력

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

출력

첫째 줄에 단어의 개수를 출력한다.

 

예제 입력 1

The Curious Case of Benjamin Button

예제 출력 1

6

예제 입력 2

Mazatneunde Wae Teullyeoyo

예제 출력 2

3

예제 입력 3

Teullinika Teullyeotzi

예제 출력 3

2

 

 

👧 나의 풀이

 

import sys
string=sys.stdin.readline()
print(len(string.split()))

 

입력 받은 문자열을 공백을 기준으로 나누고 길이를 출력했다.

정답률이 28.495%라 풀어봤는데 왜 낮은걸까?

 

 

👱‍♀️ 다른 사람 풀이

 

import sys
s=sys.stdin.read().strip()
if not s :
    print("0")
else :
    print(len(s.split(" ")))

 

strip()은 양쪽 공백 제거

s가 공백 제거 후 아무것도 없으면 0을 출력한다.

그렇지 않으면 공백을 기준으로 나누고 길이를 출력한다.

내 풀이보다 실행 시간이 좀 더 짧다. 약 20ms차이남

 

 

 

 

 

 

반응형

'coding test' 카테고리의 다른 글

[파이썬] 1157. 단어 공부  (0) 2021.04.28
[파이썬] 10809. 알파벳 찾기  (0) 2021.04.28
[파이썬] 8958. OX퀴즈  (0) 2021.04.28
[파이썬] 음양 더하기  (0) 2021.04.27
[파이썬, Java] 신규 아이디 추천  (0) 2021.04.26