티스토리 뷰

728x90
반응형

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

 

1152번: 단어의 개수

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

www.acmicpc.net

 

공백이 문자열 앞뒤로 있을 수 있다.

 

문제를 제대로 안 읽어서 처음에 틀렸다고 나왔는데 이 조건을 나중에 발견해서 해결 ㅎ

 

 

나의 풀이

import sys
str = sys.stdin.readline()
lst = str.split(' ')
if lst[0]=='':
    lst = lst[1:]
if lst[len(lst)-1]=='\n':
    lst = lst[:len(lst)-1]

print(len(lst))

 

일단 공백 기준으로 split해서 리스트에 넣어주고, 앞뒤에 공백 있으면 리스트에서 삭제 후 리스트 길이 출력

 

sys.stdin.readline()은 개행문자 같이 입력 받아짐을 명심!!! 

 

 

다른 사람 코드

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

 

.strip() 하면 그냥 앞뒤 공백 없어진다고 한다 ㅎ 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함