문제 링크 : https://www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다.

www.acmicpc.net

 

 

 

 문제 설명 

 

첫줄에 영어로 이루어진 문장이 주어지는데 문장이 몇개의 단어로 이루어 져있는지 출력 하는 프로그램 .

 

 알고리즘

 

1. getline 함수를 통해 한줄 통채로 str 에 저장

2. 맨앞이나 맨뒤에 공백이있다면 result--;

3. 공백갯수의 +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
#include<iostream>
#include<string>
 
using namespace std;
 
 
int main() {
    string str;
    getline(cin, str);
 
 
    int result =0;
    //맨앞에 공백
    if (str[0== ' ')result--;
    
    //맨뒤에 공백
    if (str[str.size() - 1== ' ')result--;
 
    for (int i = 0; i < str.size(); i++) {
        if (str[i] == ' ')result++;
    }
    cout << result+1;
 
}
cs

'c++ > 백준' 카테고리의 다른 글

백준 9205번: 맥주마시면서 걸어가기  (0) 2020.04.29
백준 2293번 : 동전 1  (0) 2020.04.29
백준 11403번: 경로 찾기  (0) 2020.04.29
백준 11559번: Puyo Puyo  (0) 2020.04.27
백준 1010번 : 다리 놓기  (0) 2020.04.26
ariz1623