Problem Solving/BOJ

[백준 / BOJ] C++ 1152 단어의 개수

nageune 2023. 2. 11. 02:47
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
반응형