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

int main(){
    int num = 0;
    int len, i;
    char a[1000001];
    scanf("%[^\n]s", &a);
    len = strlen(a);

    if (a[0]==32) {
        for (i=1; i<len; i++){
            if (a[i]==32) num++;
        }
    }
    else{
        for (i=0; i<len; i++){
            if (a[i]==32) num++;
        }        
    }
    
    if (a[len-1]==32) printf("%d", num); 
    else {
    	num++;
    	printf("%d", num);
	}
}

오래 걸렸다.. 시간을 좀 단축할 수 있도록 노력하자....

발상은 나쁘지 않았음 코딩 실력이 딸려서 구현하는데 시간이 듬...

 

*    scanf("%[^\n]s", &a); 로 입력받아야 공백까지 입력받을 수 있다. 일반적인 %s는 공백이 나오면 거기서 scan을 멈춘다.

복사했습니다!