[프로그래머스 Lv.2] 월간 코드 챌린지 시즌2 - 괄호 회전하기

김민지·2023년 12월 3일
0

✨ 문제 ✨


✨ 정답 ✨

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;
}

🧵 참고한 정답지 🧵

💡💡 기억해야 할 점 💡💡

괄호 문제는 일단 스택을 떠올리고 보아야 한다.

profile
이건 대체 어떻게 만든 거지?

0개의 댓글

관련 채용 정보