1152번: 단어의 개수

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

www.acmicpc.net

#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>

char str[1000000];

int main()
{
	char space = ' ';
	int count = 1;
	int i = 0;
	scanf("%[^\n]s", str); //공백 포함하여 문자열을 받음.

	
	while (str[i] != NULL) //문자열의 끝까지 반복문 수행
	{
		if (str[i] == space && str[i + 1] != NULL) count++;
		i++;
	}

	if (str[0] == NULL || str[0] == space) count--;
	
	printf("%d", count);
	return 0;
}

//string헤더 파일을 사용하여 strlen함수를 통해 입력된 문자열의 크기를 구할 수 있음.

'역시 내 문제해결 알고리즘은 잘못됐다' 카테고리의 다른 글

백준 1157번 C/C++  (0) 2020.12.31
백준 1546번 C/C++  (0) 2020.12.30
백준 2884번 C/C++  (0) 2020.12.30
백준 2750번 C/C++  (0) 2020.08.07
백준 11721번 C/C++  (0) 2020.07.15