[프로그래머스#JS] 괄호 회전하기
문제
괄호 회전하기 https://programmers.co.kr/learn/courses/30/lessons/76502
해결
스택을 이용하기 때문에 O(n), 배열의 길이만큼 탐색해야 하기 때문에 총 O(n^2)입니다.
배열의 최대 길이가 1000 이기 때문에 완전탐색을 이용해 해결했습니다.
코드
function solution(s) {
s = s.split("");
let tc = s.length - 1;
let answer = 0;
while (tc--) {
const stack = [];
for (let i = 0; i < s.length; i++) {
stack.push(s[i]);
if (
(stack[stack.length - 2] === "(" && stack[stack.length - 1] === ")") ||
(stack[stack.length - 2] === "{" && stack[stack.length - 1] === "}") ||
(stack[stack.length - 2] === "[" && stack[stack.length - 1] === "]")
) {
stack.pop();
stack.pop();
}
}
if (stack.length === 0) answer++;
const temp = s.shift();
s.push(temp);
}
return answer;
}
Author And Source
이 문제에 관하여([프로그래머스#JS] 괄호 회전하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tunakim/프로그래머스JS-괄호-회전하기-r0dea9la저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)