문제
풀이
이전까지와 같이 cin으로 받으면 문장이 아니라 공백마다 끊겨서 받게 된다.
그러므로 getline(cin, s)를 통해 문장을 한 번에 다 입력받고, 해당 문장에서 공백 수만큼 cnt = 1의 값을 증가시켜준다. 이후 문자열의 첫 단어가 공백이거나 마지막 단어가 공백이라면 cnt 감소시켜준다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
int cnt = 1;
getline(cin, s);
for (int i = 0; i < s.length(); i++)
if (s[i] == ' ') cnt++;
if (s[0] == ' ') cnt--;
if (s[s.length() - 1] == ' ') cnt--;
cout << cnt;
return 0;
}