250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 JS)괄호 회전하기 본문
728x90
반응형
programmers.co.kr/learn/courses/30/lessons/76502?language=javascript
스택 알고리즘.
s를 s.length만큼 회전하면서 s가 올바른 괄호인지 확인한다.
바깥 for문은 s를 회전하는 반복문.
안쪽 for문은 회전한 s가 올바른 괄호인지 스택을 활용해 확인하는 반복문.
stack이 비어있으면 올바른 괄호,
비어있지 않으면 올바르지 않은 괄호를 나타낸다.
function solution(s) {
let answer = 0;
for(let i = 0; i < s.length; i++){
const stack = [];
for(let j = 0; j < s.length; j++){
if(stack.length !== 0){
if((s[j] === ']' && stack[stack.length - 1] === '[') || (s[j] === '}' && stack[stack.length - 1] === '{') || (s[j] === ')' && stack[stack.length - 1] === '(')){
stack.pop();
}
else{
stack.push(s[j]);
}
}
else{
stack.push(s[j]);
}
}
if(stack.length === 0){
answer++;
}
s = s.slice(1) + s[0];
}
return answer;
}
728x90
반응형
'프로그래머스 알고리즘 > 2단계' 카테고리의 다른 글
(프로그래머스 c++)2개 이하로 다른 비트 (0) | 2021.05.28 |
---|---|
(프로그래머스 JS)게임 맵 최단거리 (0) | 2021.05.12 |
(프로그래머스 c++)괄호 회전하기 (0) | 2021.05.12 |
(프로그래머스 JS KAKAO)메뉴 리뉴얼 (0) | 2021.05.11 |
(프로그래머스 JS)짝지어 제거하기 (0) | 2021.05.11 |