카테고리 없음

1152: 단어의 개수 / C++

Koalitsiya 2023. 3. 8. 15:14

문제

 

풀이

이전까지와 같이 cin으로 받으면 문장이 아니라 공백마다 끊겨서 받게 된다.

그러므로 getline(cin, s)를 통해 문장을 한 번에 다 입력받고, 해당 문장에서 공백 수만큼 cnt = 1의 값을 증가시켜준다. 이후 문자열의 첫 단어가 공백이거나 마지막 단어가 공백이라면 cnt 감소시켜준다.

#include <iostream>
#include <string>

using namespace std;

int main() {
	string s;
	int cnt = 1;

	getline(cin, s);

	for (int i = 0; i < s.length(); i++)
		if (s[i] == ' ') cnt++;

	if (s[0] == ' ') cnt--;
	if (s[s.length() - 1] == ' ') cnt--;

	cout << cnt;

	return 0;
}