백준/백준 단계별 문제풀이

백준 1152번 (C++)

FDEE 2020. 8. 22. 21:38

www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

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

www.acmicpc.net

 

<답안>

#include <iostream>

using namespace std;

int main() {

    int count = 0;

    string input;

    getline(cin, input);

    for(int i=0; i<input.length(); i++)

    {

        if(input.at(i) == ' ')

        {

            count++;

        }

    }

    if(input.at(0) == ' ')

        count -= 1;

    if(input.at(input.size()-1) == ' ')

        count -= 1;

    cout<<count+1;

    

    return 0;

}

 

<설명>

string 형태의 input으로 입력을 받는다

인덱스 i=0부터 length()-1 까지 증가하면서

만약 글자가 ' ' 즉 스페이스 라면 count를 증가시킨다

 

다만, 첫입력, 마지막 입력이 스페이스인 경우 count처리되면 안되기에 1을 뺀다

최종적으로 1을 더해 출력한다

 

'백준 > 백준 단계별 문제풀이' 카테고리의 다른 글

백준 5622번 (C++)  (0) 2020.08.22
백준 2908번 (C++)  (0) 2020.08.22
백준 1157번 (C++)  (0) 2020.08.22
백준 2675번 (C++)  (0) 2020.08.22
백준 10809번 (C++)  (0) 2020.08.22