알고리즘

<백준> 1152번 단어의 개수

_으량_ 2017. 12. 29. 14:49
반응형


문제


영어 대소문자와 띄어쓰기만으로 이루어진 문장이 주어진다. 이 문장에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오.


출처:https://www.acmicpc.net/problem/1152


문제 해결 과정:

-string에서 띄어쓰기(\n)까지 같이 입력 받기 위해서  cin대신 getline(cin,sent)를 쓴다

-시작 지점과 마지막 지점에 빈칸이 있을경우 카운트를 하나 내린다

- 단어의 갯수는 띄어쓰기 수 +1이므로 마지막에 1을 더한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<iostream>
#include<string>
using namespace std;
 
int main() {
 
    string sent = {};
    getline(cin, sent);
    int cnt = 0;
 
    for (int i = 0; i < sent.length(); i++) {
        if (sent.at(i) == ' ') {
            cnt++;
        }
    }
 
    if (sent.at(0== ' ') {
        cnt--;
    }
 
    if (sent.at(sent.length() - 1== ' ') {
        cnt--;
    }
 
    cout << cnt + 1 << endl;
    return 0;
}
cs



반응형