Link https://www.acmicpc.net/problem/1152
소스 결과 4880KB / 36 ms
출처 BackJoon
설명
단어의 개수를 헤아리는 문제
공백이 연속으로 나올 수 없기에 공백에 대한 처리는 문자열의 맨 앞과 끝만 처리 하면 간단한 문제
알고리즘
1. 맨 앞자리가 공백인지 확인
2. 맨 끝자리가 공백인지 확인
3. 문자열에서 공백의 개수를 카운트
4. 공백의 개수 + 1 - (맨 앞자리 공백시 1) - (맨 끝자리 공백시 1)
5. 출력
소스코드
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
int main()
{
string sentence;
bool firstSpace = false;
bool lastSpace = false;
int count = 0;
getline(cin, sentence);
if (sentence[0] == ' ')
firstSpace = true;
if (sentence[sentence.length() - 1] == ' ')
lastSpace = true;
for (int i = 0; i < sentence.length(); i++)
{
if (sentence[i] == ' ')
count++;
}
cout << count + 1 - firstSpace - lastSpace;
return 0;
}
'Algorithm > 문자열 처리' 카테고리의 다른 글
Baekjoon 6324 URLs (0) | 2019.03.08 |
---|---|
BaekJoon 2864 5와 6의 차이 (0) | 2019.01.29 |
BaekJoon 1157 단어 공부 (0) | 2019.01.17 |
BaekJoon 1475 방번호 (0) | 2019.01.17 |
BaekJoon 8595 히든넘버 (0) | 2019.01.02 |