#1152
문제를 푸는데 의아한 점이 있어서 기록을 위해 작성.
Help
공백을 기준으로 단어 갯수를 세기 위해 아래와 같이 작성하였다.
중간에 디버깅을 위해 현재 공백을 출력하도록 하였고, 마지막에 count
변수가 제대로 잘 나온다.
Bug
문제는 위와 같이 while
안에 있는 출력문을 없애면, 에러가 나타난다.
원인은 std::getline()
을 통해 얻은 string
은 마지막에 개행을 포함하지 않기 때문에 while문이 정상적으로 종료되지 않는 것이 문제였다.
그 사이에 std::cout
이 있을 때 정상적으로 종료되는 이유는 잘 모르겠다…
결국 C++의 std::string 문서를 참고하여 아래와 같이 수정하였다.
Check
우선 정상적으로 반복문이 종료되도록 하고, 마지막에 공백이 없는 경우에는 count
를 증가시키지 못하고 종료되므로 마지막 문자열이 공백이 아닌 경우에만 단어 갯수 count
를 증가시키도록 하였다.
#1157
제출한 소스코드
도움을 얻은 자료들