https://programmers.co.kr/learn/courses/30/lessons/76502?language=javascript
stack 을 쓸 줄 아느냐를 물어보는 듯?? 문제 그대로 풀면 된다.
모든 프로그래머스 문제 관련 코드들은 GitHub 링크 에 있음.
const isOk = s => {
const stack = [];
for (let i = 0; i < s.length; i++) {
if (s[i] === ')' || s[i] === ']' || s[i] === '}') {
const last = stack.pop();
if (!last
|| (s[i] === ')' && last !== '(')
|| (s[i] === ']' && last !== '[')
|| (s[i] === '}' && last !== '{') ) {
return false;
}
} else {
stack.push(s[i]);
}
}
return stack.length === 0;
};
function solution(s) {
let result = 0;
for (let i = 0; i < s.length; i++) {
if (isOk(s)) {
result++;
}
s = s.slice(1) + s[0];
}
return result;
}