괄호 닫기 문제인데 오답부분을 못찾겟습니다
stack 을 이용하긴 했는데 구조체보단 그냥 배열을 이용했습니다
{ [ ( 가 나올땐 스텍이 해당하는 숫자를 넣어주고
} ] ) 가 나올땐 스택의 top에 해당하는 부분이 짝이 맞으면 pop하게 구현했습니다
#include <stdio.h>#include <string.h>intmain(){intstack[10000];charstr[10001]={NULL};inttop=0;intC;inti,l;scanf("%d",&C);for(i=0;i<10000;i++)stack[i]=0;// stack 초기화while(C--){scanf("%s",str);l=strlen(str);// stack은 [1] 부터 입력시작for(i=0;i<l;i++){if(str[i]=='['){top++;stack[top]=1;}elseif(str[i]==']'){if(stack[top]==1){stack[top]=0;top--;}else{break;}}elseif(str[i]=='('){top++;stack[top]=2;}elseif(str[i]==')'){if(stack[top]==2){stack[top]=0;top--;}else{break;}}elseif(str[i]=='{'){top++;stack[top]=3;}elseif(str[i]=='}'){if(stack[top]==3){stack[top]=0;top--;}else{break;}}elsebreak;}// for 종료if(top==0)printf("YES\n");elseprintf("NO\n");top=0;// top 초기화for(i=0;i<10000;i++)stack[i]=0;// stack 초기화}// while 종료}
jskdmswls
괄호 닫기 문제인데 오답부분을 못찾겟습니다
stack 을 이용하긴 했는데 구조체보단 그냥 배열을 이용했습니다
{ [ ( 가 나올땐 스텍이 해당하는 숫자를 넣어주고
} ] ) 가 나올땐 스택의 top에 해당하는 부분이 짝이 맞으면 pop하게 구현했습니다
9년 전