kimsung601   4년 전

처음에 n1 입력시 첫번째 문자열 입력을 건너뛰고 sum 의 0값이 출력됩니다..

#include<stdio.h>

#include<string.h>

int main(){

    int n1;

    char str[100];

    int len=0;

    int sum=0;

    int arr[100];

    

    scanf("%d",&n1);

    

    

    for(int b=1;b<=n1;b++){

        

        gets(str);

        len = strlen(str);

        

        for(int i=0;i<len;i++){

            if(str[i]=='O') arr[i] = i;

            else arr[i] = -1;

        }

        for(int i=0;i<len;i++){

            if(arr[i]>=0){

                sum += 1;

                for(int j=1;;j++){

                    if(arr[i-j]==arr[i-j+1]-1)

                        sum+=1;

                    else break;

                }

            }

        }

        printf("%d\n",sum);

        sum=0;

        

    }

    

    return 0;

}

    

lim551   4년 전

gets를 scanf("%s", str) 로 하면 될 것 같습니다.

lim551   4년 전

gets 는 한 라인을 읽는데, 이전에서 n1에 해당하는 숫자까지만 읽었기 때문에 n1 다음에 있는 '₩n'을 읽어온걸로 보입니다

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