백준/백준 단계별 문제풀이
백준 1152번 (C++)
FDEE
2020. 8. 22. 21:38
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을 더해 출력한다
