kissy527   2년 전

예제입력 과 출력이 다같은데 왜 틀렸는지 모르겠습니다

도와주세요..
 

nahwasa   2년 전

반례입니다.

 a 

a의 앞과 뒤 모두 공백이 있을 경우, 위 프로그램은 '2'를 출력합니다.

kissy527   2년 전

a의 앞과 뒤 모두 공백이 있다 하고 출력하면 1이나옵니다 제시해준 반례는 맞아서 한번만 더 봐주실수없나용?

nahwasa   2년 전

https://ideone.com/I4PuLY

2가 나옵니다. 혹시 사용중인 ide에선 된다면, 해당 ide에선 뭔가 다른 부분이 있나봅니다.

보통 ideone에서 되면 백준에서도 ide별 차이 없이 되더라구요.

CLion에서도 해보니 2가 뜹니다.

긍까 위 코드로

' a' (공백 + a)는 1이 뜹니다.

' a '(공백 + a + 공백)은 2가 뜹니다.

kissy527   2년 전

아하.. 전 비쥬얼스튜디오에서 c언어를 사용중인데 여기서는 정상적으로 출력이되서 못찾았네요 알려주신사이트 처음봤는데 이용해보겠습니다..

저혹시 제가 지금 코린이라 지금 저상태에서 뭘 수정해야할지 보이지가않는데 혹시 저 부분에서 어디를 손대는게 좋을까요?

nahwasa   2년 전

기존로직이 잘 이해가 안되서 기본 틀만 짜두신걸로 쓰고, 로직은 좀 바꿔서 해봤습니다.

이렇게 해서 잘 통과되네요!

#include <stdio.h>

int main(void)
{
    char str[1000001];
    int count = 0, result = 0;
    scanf("%[^\n]s", str);
    if (str[0] == ' ' && str[1] == '\0') {
        printf("0\n");
        return 0;
    }
    if (str[0] == ' ')  str[0] = 'a';
    int cnt = 0;
    int idx = -1;
    while (str[++idx] != '\0') {
        if (str[idx] == ' ')
            cnt++;
    }
    if (str[idx-1] != ' ')
        cnt++;
    printf("%d\n", cnt);
    return 0;
}

댓글을 작성하려면 로그인해야 합니다.