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;
}
'코딩테스트 > LV. 2' 카테고리의 다른 글
LV2 :: 행렬의 곱셈 (0) | 2025.02.21 |
---|---|
LV.2 :: 할인 행사 (0) | 2025.02.21 |
LV.2 :: 귤 고르기 (0) | 2025.02.21 |
LV.2 :: 주식 가격 (0) | 2024.10.21 |
LV.2 :: n^2 배열 자르기 (0) | 2024.10.21 |
댓글