알고리즘
[C++] 백준 1157번 단어 공부
J3SUNG
2019. 8. 4. 15:28
728x90
단어의 개수가 몇개인지 출력하는 문제입니다.
cin으로 문자를 입력받게 되면 공백부터는 잘리게 됩니다.
getline(cin, s)를 하여 줄단위로 문자를 받았습니다.
문자가 나오면 count++해주고 chk를 1로 바꾸어주었습니다.
chk가 1이되면 count는 더 이상 증가하지 않고
공백이 나오면 chk를 0으로 바꾸어주었습니다.
#include <iostream>
#include <cstring>
#include <algorithm>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
int chk = 0;
int count = 0;
string s;
getline(cin, s);
for (int i = 0; i < s.length(); ++i) {
if ((int)s[i] == 32) {
chk = 0;
}
if ((int)s[i] != 32 && chk == 0) {
++count;
chk = 1;
}
}
cout << count << endl;
return 0;
}