알 수 없는 오답

  • jujine
    jujine

    뭐 제가 잘못해서 오답이 나왔겠지만,
    적어도 어떤 내용을 넣었을때 오답이 나왔는지 알려 줘야 하지 않겠나요??
    알고리즘 초짜를위해 추가시켜주세요

    저 초보니까 힌트좀 많이 주세요 ㅋㅋ 아주그냥 답을 직설적으로 알려주시면 ㄳㄳ

    BRACKETS2

    #include<stdio.h>
    #include<string.h>
    
    char str['ab'], stack['ab'], *p;
    int err;
    
    
    void input()
    {
        scanf("%s",str);
    }
    
    void process()
    {
        int i = -1, idx = 0;
        for(p=str;(int)*p;p++)
        {
            ( ++idx%2 != 0 )?err=3:err=0; 
            if( *p == '(' ||  *p == '{' ||  *p == '[' )
            {
                i++;
                stack[i] = *p;
            } else 
            {
                if (*p == ')') {
                    if( stack[i] == '(' )
                    {
                        i--;
                        continue;
                    } else {
                        err=3;
                        break;
                    }
                } else if(*p == '}') {
                    if( stack[i] == '{' )
                    {
                        i--;
                        continue;
                    } else {
                        err=3;
                        break;
                    }
                } else if(*p == ']') {
                    if( stack[i] == '[' )
                    {
                        i--;
                        continue;
                    } else {
                        err=3;
                        break;
                    }
                } 
            }
        }
    }
    
    void output()
    {
        if( err != 3) {
            printf("YES\n");
        } else {
            printf("NO\n");
        }
        err=0;
    
    }
    
    
    int main()
    {
    
        int re;
    
        scanf("%d", &re);
    
        while(re--)
        {
            input();
            process();
            output();
        }
    
    
        return 0;
    }
    

    11년 전
7개의 댓글이 있습니다.
  • Antagonist
    Antagonist

    어떤내용에서 오답이 났는지 알아내는것도 문제풀이과정중의 하나입니다.


    11년 전 link
  • Being
    Being
    1. 구현해서 https://github.com/jongman/algospot 에 pull request 넣어주시면 적극 반영을 고려하겠습니다.
    2. 윗분이 말씀하셨듯 스스로 오답이 발생한 원인을 찾아내는 것이 중요한 과정 중 하나입니다.

    11년 전 link
  • 일루
    일루

    그 원인을 파악하기 힘들다면 문제가 너무 어려운 거예요...


    11년 전 link
  • kcm1700
    kcm1700

    스스로 잘못된 것이 무엇인지 알아내는 데에는 여러가지 테스트 케이스를 손으로 많이 만들어보는 방법이 참 좋더군요.


    11년 전 link
  • JongMan
    JongMan

    그리고.. 해결하셨다고 해서 질문글 지우시면 안됩니다. ~_~


    11년 전 link
  • jujine
    jujine

    와 풀엇네요


    11년 전 link
  • Kureyo
    Kureyo

    축하드려요 :)


    11년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.