1. 일단 스페이스만 쳐도 1이 나오는 이유는 애초에 for 루프를 들어가지도 않고, 출력문에 count+1이 되므로, 1이 나오게 됩니다. 따라서 이 부분을 생각해주시면 됩니다.
2. 그리고, 마지막에 스페이스가 나오는 경우가 문제가 됩니다.
예] a공백b공백
글쓴이님의 코드] 3
기존의 if문이 arr[i]가 문자이고, arr[i+1]가 공백일 때, count를 올리는 것인데, 마지막에 공백이 올 경우, 1개를 추가로 더 세버립니다. 따라서, 이 마지막에 공백이 오는 경우만
따로 생각해주시면 됩니다!
freshwind 3년 전
COUNT함수에 숫자가 들어가든 ' '이 들어가든 return 이 1이 나와서
if (COUNT(arr[i]) == 1 && arr[i + 1] == ' ') 이 참이 되어서
' ' 이렇게 스페이스만 쳐도 단어의 개수가 합산돼서 나옵니다.
물론 '공백이 연속해서 나오는 경우는 없다.' 라고 문제에 명시 되어있지만
분명 공백이 연속으로 나와도 단어로 합산 되지 않게 코드를 짰는데 왜 단어로 합산되어서 나올까요?