[BOJ] 1152 단어의 개수

GirlFriend-Yerin·2020년 8월 26일
0

알고리즘

목록 보기
21/131

Note

단어의 개수를 헤아리는 문제

공백이 연속으로 나올 수 없기에 공백에 대한 처리는 문자열의 맨 앞과 끝만 처리 하면 간단한 문제

알고리즘

  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;
}

2019-01-05 20:36:59에 Tistory에서 작성되었습니다.

profile
개발할때 가장 행복한 개발자입니다.

0개의 댓글