개인공부/백준

[백준(BOJ)] 단어의 개수 | 1152번 문제 풀이 (브론즈2, C언어)

피까츄 2024. 7. 2. 16:05

1. 문제

2. 풀이

공백 문자의 개수를 세서 풀어보았다.

공백 문자를 받기 위해서 scanf 부분에 %[^\n]를 사용하였다.

첫 글자가 공백이거나 마지막 글자가 공백인 경우를 제거하기 위한 조건을 넣고

공백 한 글자가 들어왔을 때 0을 출력하도록 하였다.

 

마지막 글자를 찾기위해 글자의 수를 세는 것은 string.h에 있는 strlen을 이용하였다.

3. 코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
char array[1000000];

int main(void) {
    int n = 0;
    int i = 1;
    scanf("%[^\n]", array);
    int size = strlen(array);
    
    if (size == 1 && array[0] == ' ') {
        printf("%d\n", 0);
        return 0;
    }

    while (i < size-1) {
        if (array[i] == ' ')
            n++;
        i++;
    }
    printf("%d", n + 1);
    
    return 0;
}

 

4. 참고