
생각
문장을 입력받고 단어의 개수를 출력해야 한다.
1. 공백을 기준으로 단어를 세기 때문에, getline을 사용해야 한다.
2. 한 문장만 입력하면 되므로 getline사용 시 주의점인 cin과 getline 혼용인 버퍼에 \n이 남아 cin.ignore()을 굳이 할 필요는 없다.
3. 반복문을 돌며 공백의 개수를 세고, +1을 해 주면 단어의 개수이다.
4. 문장 시작이나 끝에 공백이 있으면, cnt--를 해 준다.
#include <iostream>
#include <string>
using namespace std;
int main() {
int cnt = 0;
string var;
getline(cin, var);
for(int i=0; i<var.length(); i++){
if(var[i] == ' '){cnt++;}
}
if(var[0] == ' '){cnt--;}
if(var[var.length()-1] == ' '){cnt--;}
cout << cnt+1;
}'공부기록 > [Algorithm]' 카테고리의 다른 글
| 백준 1157번 <단어 공부> - C++ (0) | 2024.08.04 |
|---|---|
| 백준 5622번 <다이얼> - C++ (1) | 2024.08.03 |
| 백준 2675번 <문자열 반복> - C++ (3) | 2024.08.03 |
| 백준 10811번 <바구니 뒤집기> - C++ (1) | 2024.08.02 |
| 백준 10810번 <공 넣기> - C++ (0) | 2024.08.02 |