[BOJ] 1152

단어의 개수

1152번 https://www.acmicpc.net/problem/1152

분류

  • Bronze 2

  • 구현
  • 문자열

해법

제일 앞에 공백이 없을 때의 첫 단어를 제외하고는 모든 단어는 공백의 뒤에 있다는 것을 이용하면 됩니다.

정답 코드

#include <iostream>
#include <string>
#include <cctype>
using namespace std;

int main(void)
{
    string str;
    int cnt = 0;
    getline(cin, str);

    if (isalpha(str[0])) cnt += 1; // cal first word seperately
    for (int i = 0; i < str.length(); i++) // the word after first word is located behind of space
        if (isblank(str[i]) && isalpha(str[i + 1]))
            cnt += 1;
    
    printf("%d", cnt);
    return 0;
}

Updated:

Leave a comment