코딩테스트/LV. 2
LV.2 :: 괄호 회전하기
KUROMI98
2025. 2. 21. 01:55
https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
function solution(s) {
// 올바른 괄호 문자열인지 확인하는 함수
const isValid = (str) => {
const stack = [];
const pair = { ')': '(', '}': '{', ']': '[' };
for (const char of str) {
if (char in pair) {
if (!stack.length || stack.pop() !== pair[char]) return false;
} else {
stack.push(char);
}
}
return stack.length === 0;
};
let count = 0;
const arr = s.split(""); // 문자열을 배열로 변환하여 회전 최적화
for (let i = 0; i < s.length; i++) {
if (isValid(arr.join(""))) count++;
arr.push(arr.shift()); // 배열을 이용해 문자열 회전
}
return count;
}