문제의 요지는
(1) 공백을 포함한 문장이 들어올 때
(2) 단어의 개수를 세어라
단, 공백이 시작과 끝에 들어갈 수 있다.
라는 것.
이렇게 간단한 문제를 삽질한다 난 ㅎㅋ
제발 코드를 좀 읽어라 ㅜ
기본적으로 공백 다음은 단어라고 가정하는 것!
✅ 구현
#include <iostream>
#include <string>
using namespace std;
int main(){
string str;
// 공백을 포함한 문자열을 받는 방법
getline(cin,str);
int count = 1;
// 문자열의 길이 만큼 돌리는 동안 공백이 나오면 count+=1;
for(int i=0;i<str.length();i++){
if(str[i]==' '){
count+=1;
}
}
// 다 돌리고 나서 확인해야하는 것들!
// (1) str[0]==' ' 일 경우 중복되니까 1번 빼주기
if(str[0]==' '){
count-=1;
}
// (2) str[str.length()-1]==' '일 경우도
// 단어는 아니면서 중복 카운트 되는 경우니까 -1;
if(str[str.length()-1]==' '){
count-=1;
}
cout<<count;
return 0;
}