프로그래머스 / Level 2 , 월간 코드 챌린지 시즌2 , 괄호 회전하기 자바스크립트 , JS
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/76502
정답
const CheckArr = (Arr, Str, Check) => {
let tmp = dict[Str];
if (Arr.length > 0 && Arr[Arr.length - 1] === tmp) Arr.pop();
else Check = false;
return [Arr, Check];
};
let dict = {};
function solution(s) {
[dict[")"], dict["]"], dict["}"]] = ["(", "[", "{"];
let [num, G, cnt] = [s.length, s, 0];
for (let i = 0; i < num; i++) {
let check = true;
let arr = [];
for (let j = 0; j < num; j++) {
if (G[j] === "(" || G[j] === "[" || G[j] === "{") arr.push(G[j]);
else [arr, check] = CheckArr(arr, G[j], check);
if (check === false) break;
}
if (arr.length !== 0) check = false;
if (check === true) cnt += 1;
G = G.substr(1, G.length - 1) + G.substr(0, 1);
}
return cnt;
}
반응형
'알고리즘 공부 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 / Level 2 , 깊이/너비 우선 탐색(DFS/BFS) , 게임 맵 최단거리 자바스크립트 , JS (0) | 2022.09.22 |
---|---|
프로그래머스 / Level 2 , 2018 KAKAO BLIND RECRUITMENT , [1차] 캐시 자바스크립트 , JS (0) | 2022.09.22 |
프로그래머스 / Level 2 , 정렬 , H-Index 자바스크립트 , JS (0) | 2022.09.22 |
프로그래머스 / Level2 , 연습문제 , 행렬의 곱셈 자바스크립트 , JS (0) | 2022.09.21 |
프로그래머스 / Level2 , Summer/Winter Coding(~2018) , 점프와 순간 이동 자바스크립트 , JS (0) | 2022.09.20 |