Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

hwooo

(C) 1152번: 단어의 개수 본문

Study/Algorithm

(C) 1152번: 단어의 개수

hwooo 2022. 6. 8. 03:50

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

 

1152번: 단어의 개수

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

www.acmicpc.net

 

 

풀이

공백을 입력받기 위해 %[^\n]을 사용했다.
첫 번째로 공백이 나오는 경우를 제외하기 위해 반복문을 2번째 문자부터 시행했다.
마지막에 공백이 나오는 경우를 제외하기 위해 공백 뒤에 NULL이 나오지 않는 경우에만 카운트 했다.
공백만 나오는 문자열을 받는 경우는 예외로 카운트했다.

코드

#include <stdio.h>
int main() {
	int i, cnt = 0;
	char word[1000001];
	scanf("%[^\n]s", word);

	i = 1;				  	     // 첫번 째에 공백이 있는 경우 제외하기 위해
	while (word[i] != NULL) {
		if (i != 0 && word[i] == ' ' && word[i + 1] != NULL) cnt++;
		i++;
	}
	if (i == 1 && word[0] == ' ') printf("0"); // 공백만 입력된 경우
	else printf("%d", cnt + 1);		  // 마지막 단어 카운트
	return 0;
}

'Study > Algorithm' 카테고리의 다른 글

(C) 5622번: 다이얼  (0) 2022.06.13
(C) 2908번: 상수  (0) 2022.06.13
(C) 1157번: 단어 공부  (0) 2022.06.08
(C) 2675번: 문자열 반복  (0) 2022.06.07
(C) 10809번: 알파벳 찾기  (0) 2022.06.07