본문 바로가기
PROGRAMMING/[C] Baekjoon Online Judge (BOJ)

[C/Baekjoon] 백준 1152번(5-8) : 단어의 개수

by PIZA 2025. 1. 11.

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

 

 

#include <stdio.h>
#include <string.h>

int main() {
    char MY[1000000];
    int i,count=0,MYlen;
    
    scanf("%[^\n]",MY); //1
    MYlen = strlen(MY);
    
    if(MYlen == 1) { //2
        if(MY[i] == ' ') {
            printf("0");
            return 0;
        }
    }
    
    for(int j = 1; j<MYlen-1; j++) { //3
        if(MY[j] == ' ') {
            count++;
        }
    }
    
    printf("%d", count+1); //공백개수를 세었으므로 +1 해 준다.				
    
    return 0;
    
}

 

[주목할만한 부분]

1. %[^\n] : 한 줄 띄우기 전까지 문자열로 받는다
(그냥 %s라면, Hello World에서 띄어쓰기를 인식하지 못한다. Hello로만 받는다.)

2. 공백 하나만 입력되었을 때의 경우

3. 공백의 개수를 센다.


*문제가 애매한 듯 하다...
공백을 하나만 받으면 결과가 2,
그냥 개행한 결과를 받으면 결과가 1이다.
이를 단어라고 보기엔 어렵지만 채점 결과가 맞다고 하니...