https://www.acmicpc.net/problem/1152
#include <iostream>
#include <string>
using namespace std;
int main(void){
string s;
getline(cin, s);
int count = 0;
for(int i = 0; i<s.length(); i++){
//cout << s[i];
if(s[i] != ' '){
count++;
}
while(s[i]!=' ' && i<s.length()){
i++;
}
}
cout << count << endl;
}
주어진 문장을 하나의 스트링으로 받기 위해 getline()을 이용했다.
단어의 갯수를 저장하는 count 변수가 있다.
만약 공백이 나타나면 단어의 끝이니까 count를 하나 증가시킨다.
그냥 문자이면 계속 포인터를 옮기면서 넘긴다.
'컴퓨터기본 > 문제풀이' 카테고리의 다른 글
[백준] 4949번: 균형잡힌 세상 (0) | 2021.08.08 |
---|---|
[백준] 9012번: 괄호 (0) | 2021.08.07 |
[백준] 1157: 단어 공부 (0) | 2021.06.27 |
[백준] 2675번: 문자열 반복 (0) | 2021.06.27 |
[백준] 2164번: 카드2 (0) | 2021.06.24 |