[프로그래머스] 괄호 회전하기
문제
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/76502
코드
function checkStr(s){
let stack = [];
for(let i=0; i<s.length; i++){
if(s[i]==='(' || s[i]==='[' || s[i]==='{') stack.push(s[i]);
else{
switch(s[i]){
case ')':
if(stack[stack.length-1]==='(') stack.pop();
break;
case ']':
if(stack[stack.length-1]==='[') stack.pop();
break;
case '}':
if(stack[stack.length-1]==='{') stack.pop();
break;
}
}
}
return stack.length === 0 ? true : false;
}
function solution(s) {
if(s==='' || s.length%2!=0) return 0;
let answer = 0;
let count = s.length;
s = s.split('');
while(count>0){
if(checkStr(s)) answer++;
s.push(s.shift());
count--;
}
return answer;
}
소감
난이도는 그리 높지않은 스택문제였는데 뭔가 효율이 구려보여서 나중에 다시 짜봐야겠다.