초심자 문제에 BRACKET2 문제 왜 오답인지 모르겠습니다. 도와주세요 bum4985 모든 조건을 다보고 왜 오답이 나오는지 확인하였으나 도무지 왜 오답인지 모르겠습니다. 부탁드립니다. #include #include char a[10000]; char b[10000]; int i=0; int j=0; int correct(){ for(i=0;i<strlen(a);i++) { if(a[i]=='('||a[i]=='{'||a[i]=='[') { b[j]=a[i]; j++; } if(a[i]==')'||a[i]=='}'||a[i]==']') { j--; if(b[j]=='('&&a[i]!=')') { return 0; } if(b[j]=='{'&&a[i]!='}') { return 0; } if(b[j]=='['&&a[i]!=']') { return 0; } } } if(j==0){ return 1; } else{ return 0; } } int main(void) { int count=0; int cor; scanf("%d",&count); if(count<0 && count>100) return 0; //printf("%d",count); while(count--){ scanf("%s",a); cor=correct(); if(cor==1) { printf("YES"); printf("\n"); } else { printf("NO"); printf("\n"); } } } 11년 전
1개의 댓글이 있습니다. astein ')'로 시작하는 문자열을 테스트 해 보세요 :) [ 위의 문제를 수정하여도 위의 프로그램에는 다른 문제점이 있습니다. 직접 찾아보세요 :) ] 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
bum4985
모든 조건을 다보고 왜 오답이 나오는지 확인하였으나 도무지 왜 오답인지 모르겠습니다. 부탁드립니다.
#include
#include
int correct(){
if(j==0){
return 1;
}
else{
return 0;
}
}
int main(void)
{
int count=0;
}
11년 전