백준 algorithm
백준 1152 - 단어의 개수
cosmohoo
2020. 3. 18. 23:31
반응형

=> 공백이 포함된 string이므로 getline함수를 써야한다.
=> 예외처리를 신경써야하는 문제이다.
1. 맨앞이 ' ' 인 경우
2. 맨뒤가 ' '인 경우
3. 아무것도 없는 string을 받은 경우
4. 길이가 1인 string일 때, 문자 혹은 ' ' 가 있는 경우
더욱 간단하게 풀 방법이 있지만 직관적으로 보이게 하기 위해 코딩을 하였다.
#include <iostream>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
string s;
getline(cin,s);
int cnt=0;
int length = s.length();
if(length < 1)
{
cout <<0<<'\n';
}
else if(length == 1)
{
if(s[0]== ' ')
cout <<0<<'\n';
else cout<<++cnt<<'\n';
}
else{
for(int i=0; i<length-1; i++)
{
if(i==0)
{if(s[i]==' ')continue;}
else
{if(s[i] == ' ')cnt++;
else continue;
}
}
cout << ++cnt<<'\n';
}
return 0;
}
반응형