[프로그래머스] 괄호 회전하기 - JavaScript

이은빈 EUNBIN·2021년 6월 28일
0
post-thumbnail

📌 문제

https://programmers.co.kr/learn/courses/30/lessons/76502



📌 풀이

function isValid(s) {
    let map = new Map();
    map.set('(', ')');
    map.set('[', ']');
    map.set('{', '}');
    let stack = [];

    for(let i = 0; i < s.length; i++) {
        if(map.has(s[i])) {
            stack.push(s[i]);
        } else {
            let pop = stack.pop();
            if(map.get(pop) !== s[i]) {
                return false;
            }
        }
    }
    return stack.length === 0;
};

function solution(s) {
    const arr = s.split("");
    let answer = 0;
    let count = 0;

    while(count < arr.length) {
        arr.push(arr.shift());
        if(isValid(arr)) answer++;
        count++;
    }
    
    return answer;
}
profile
Frontend Engineer & Value Creator

0개의 댓글