uccs   3년 전

제 코드는 문자열의 공백의 개수를 세어 '공백의 개수 + 1'이 '단어의 개수'임에서 착안한 해결방법입니다. "Is The Code Really Wrong"이라는 문자열에서의 공백의 개수는 4이므로 +1을 해준 5가 단어의 개수가 되는 것을 예시로 들 수 있겠죠.

물론, '공백의 개수+1 == 단어의 개수'가 되려면 문자열 앞뒤의 공백은 무시해야합니다. 저는 문자열 시작 전에 오는 공백을 반복문이 i=0부터가 아닌 i=1부터 시작하므로써, 문자열 마지막에 오는 공백을 반복문의 실행범위를 '1<= i < 문자열의 길이-1'로 설정하므로써 해결했습니다.(아예 반복문에서 문자열의 마지막부분을 무시해버리는 방법이죠)

 문제는 문자열 마지막에 오는 공백을 처리할 때인데요, 저는 앞서 언급한 방법으로 마지막 공백을 처리하는 것과, 복문의 실행범위를 '1<= i < 문자열길이'로 설정하되, (주석처리한 부분처럼) 문자열의 마지막에 공백이 오는 경우을 처리하는 것은 결국 같은 의미를 가진다고 생각합니다. 

그런데 전자의 경우는 틀렸습니다가, 후자의 경우는 맞았습니다!가 나옵니다. 

(도.대.체) 왜 그러는 걸까요???

xhdtlsid2   3년 전

공백 하나만으로 이루어진 문자열이 주어졌을 때 전자는 1을 출력합니다.

댓글을 작성하려면 로그인해야 합니다.