728x90
반응형
1152번: 단어의 개수
문제
https://www.acmicpc.net/problem/1152
1152번: 단어의 개수
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열
www.acmicpc.net
풀이
문장을 입력받아 단어의 개수를 출력하는 문제다. getline 함수를 사용해 문장을 입력받는다. 문장에서 공백의 개수를 센다. 문장의 처음이 공백인 경우나 마지막이 공백인 경우엔 개수를 빼준다. 단어의 수는 단어 사이의 공백 수보다 1 크므로 1을 더해 출력해 준다.
코드
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
string a;
int cnt = 0;
getline(cin, a);
for (int i = 0; i < a.length(); i++)
if (a[i] == ' ')
cnt++;
if (a[0] == ' ')
cnt--;
if (a[a.length() - 1] == ' ')
cnt--;
cout << cnt + 1 << '\n';
return 0;
}
728x90
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[백준 / BOJ] C++ 1157 단어 공부 (0) | 2023.02.11 |
---|---|
[백준 / BOJ] C++ 1153 네 개의 소수 (0) | 2023.02.11 |
[백준 / BOJ] C++ 1149 RGB거리 (0) | 2023.02.11 |
[백준 / BOJ] C++ 1145 적어도 대부분의 배수 (0) | 2023.02.11 |
[백준 / BOJ] C++ 2565 전깃줄 (0) | 2023.02.10 |