• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

이상한 점이 있습니다

20.12.14 16:12 작성 조회수 128

1

#include <stdio.h>

int main(){

    //freopen("input.txt", "rt", stdin);

    char input[100];

    int count = 0;

    scanf("%s", &input); 

    for(int i=0; input[i] != '\0'; ++i){

        if(input[i] == '(') count ++;

        else if(input[i] == ')') count --;

        //In this question, if ')' is more than '(', answer is wrong. counter < 0 -> false

        if(count < 0) break;

    }

    //If count = 0, it means that '(' meets ')'

    if(count == 0) printf("Yes\n");

    //If count < 0, it prints NO as well

    else printf("NO\n");

    return 0;

}

단순히 변수명만 바꿨을 뿐인데 채점기를 돌리니까 test case 1과 5번이 'wrong answer'로 나옵니다. 그런데 그냥 vscode terminal 에서 돌리면 test case 1,5번 둘 다 정확한 정답이 나옵니다. 혹시 채점기 오류인가요??

혹시 정답 소스코드와 제 코드가 다른점이 있는건가요?

cf)정답 소스코드를 넣고 채점기를 돌리면 test case 전부 통과합니다. 

감사합니다.

답변 2

·

답변을 작성해보세요.

1

안녕하세요^^

현재 캘탭으로만 보고 있는데요. 코드만 봐서는 출력할 때 YES와 같이 대문자로 해야되는게 아닌가 싶습니다. 제가 실제 데이테를 어떻게 했는지 기억이 잘 아나서ㅠㅠ

그게 원인이 아니면 이따 컴퓨터에서 돌려보고 답변드리겠습니다.

0

Dan LEE님의 프로필

Dan LEE

질문자

2020.12.14

 if(count == 0) printf("Yes\n"); 여기를 대문자 YES로 바꾸까 test case전부 다 통과했습니다. 무슨 원리인지는 모르겠지만 빠른 답변 덕분에 찜찜했던게 해결된거 같습니다.

감사합니다!