function solution(s) {
let stack=[];
let answer=0;
let isPossible=false;
if (s.length%2===1){
return 0;
}
for (let i=0;i<s.length;i++){
isPossible=true;
let revised=s.slice(i)+s.slice(0,i);
for (let j=0;j<revised.length;j++){
if (revised[j]==='['||revised[j]==='('||revised[j]==='{'){
stack.push(revised[j])
}else {
let leftWord = stack.pop();
if (revised[j] === ")" && leftWord === "(") {
continue
};
if (revised[j] === "}" && leftWord === "{"){
continue
};
if (revised[j] === "]" && leftWord === "[") {
continue
};
isPossible = false;
break;
}
}
if (isPossible){
answer+=1;
}
}
return answer;
}
괄호 문제는 일단 스택을 떠올리고 보아야 한다.