풀이 다른 언어에 비해 문자열에 관한 문제는 문제의 난이도에 비해 C로 풀이하기 힘든만큼 꼭 C를 고집할 필요는 없다. C언어로는 단어의 개수를 세는 방식이 아닌, 공백의 개수를 세고, 경우의 수를 따지는 방식이 더 효율적인 듯 하다. 엔터를 입력할 때 까지 계속 입력받는다. 공백 하나만 입력되는 경우도 고려해야한다. 마지막 단어 뒤에 공백이 있거나 없을 수 있어서 len - 1로 맨 끝의 공백이나, 단어의 맨 뒤를 고려하지 않는다. 소스코드 #include #include int main(){ char str[1000001]; gets(str); int cnt = 0, len = strlen(str); if (len == 1 && str[0] == ' '){ cnt = -1; }else for(int ..