컴퓨터기본/문제풀이

[백준] 1152번: 단어의 개수

차가운오미자 2021. 6. 30. 12:16

https://www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한

www.acmicpc.net

#include <iostream>
#include <string>

using namespace std;

int main(void){
	
	string s;
	getline(cin, s);
	
	int count = 0;
	
	for(int i = 0; i<s.length(); i++){
		
		//cout << s[i];
		if(s[i] != ' '){
			count++;
		}
		while(s[i]!=' ' && i<s.length()){
			i++;	
		}
	}
	
	cout << count << endl;
}

주어진 문장을 하나의 스트링으로 받기 위해 getline()을 이용했다. 

단어의 갯수를 저장하는 count 변수가 있다. 

만약 공백이 나타나면 단어의 끝이니까 count를 하나 증가시킨다.

그냥 문자이면 계속 포인터를 옮기면서 넘긴다.

'컴퓨터기본 > 문제풀이' 카테고리의 다른 글

[백준] 4949번: 균형잡힌 세상  (0) 2021.08.08
[백준] 9012번: 괄호  (0) 2021.08.07
[백준] 1157: 단어 공부  (0) 2021.06.27
[백준] 2675번: 문자열 반복  (0) 2021.06.27
[백준] 2164번: 카드2  (0) 2021.06.24