[BOJ] 1152 단어의 개수 (Python)
코드
import sys
li=list(map(str,sys.stdin.readline().strip()))
cnt=0
i=0
er=0
if len(li)==0: #공백만 입력 받았을 경우
er=1
while er==0:
if li[i]==' ':
i+=1
if i>=len(li):
er=1
break
continue
else:
cnt+=1
while(li[i]!=' '):
i+=1
if i>=len(li):
er=1
break
print(cnt)
풀이 및 소감
입력되는 문자열에서 몇 개의 단어가 있는지 수를 구하는 문제였다. 시작과 끝에 공백이 있을 수 있다.
while문 안에서 공백은 넘어가고 글자가 시작되면 카운트를 세서 출력하는 방식으로 코드를 짰다. 예제 입력을 실행 시켰을 때 예제 출력과 똑같이 나와서 제출했더니 런타임 에러가 떴다. 공백 관련 문제로 에러가 뜨는것 같아서 다시 문장의 앞, 뒤, 앞뒤 동시 이렇게 세 경우로 공백을 넣은 입력을 받아 코드를 돌렸는데 작동이 잘만 되길래 뭐가 문제인가 했더니 공백만 입력받는 경우도 있다는것과, 내 코드는 공백만 입력받으면 입력 리스트에 아무것도 담기지 않아서 에러가 뜬다는 것을 알게 되었다. 그래서 공백만 입력 받을 경우에 대해 예외코드를 짰더니 해결되었다.
바로 어제 실버 문제를 풀 수 있게 되면서 이번 문제는 브론즈 문제라고 방심했던것 같다. 자만하지 말고 여러 경우의 수를 대비하면서 문제를 풀어야겠다.
Author And Source
이 문제에 관하여([BOJ] 1152 단어의 개수 (Python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lj05117/TIL-1152-단어의-개수-Python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)