
프로그래머스 - 괄호 회전하기
난이도 : Level 2
정답률: 67%
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
▶ 문제

▶ 풀이
괄호가 올바른지 판단하는 카운트 함수를 만들었다. 괄호를 여는 '[' 나 '{' 나 '(' 의 경우에 stack 에 집어넣고, 닫는 괄호일 경우 stack 의 마지막값을 비교해서 괄호가 올바른지를 파악했다
function solution(s) {
var answer = 0;
if (s.length % 2 === 1) return 0;
for(let i = 0; i < s.length; i++) {
let a = s.split('');
a[a.length] = a[0];
a.shift();
s = a.join('');
if(!count(s)) {
answer++;
}
}
return answer;
}
function count(word) {
const stack = [];
let flag = false;
for(let i= 0; i < word.length; i++) {
if(word[i] === `[` || word[i] === `{` || word[i] === `(`) {
stack.push(word[i]);
} else {
let leftWord = stack.pop();
switch(word[i]) {
case "]":
if(leftWord !== '[') {
flag = true;
}
break;
case "}":
if(leftWord !== '{') {
flag = true;
}
break;
case ")":
if(leftWord !== '(') {
flag = true;
}
break;
}
}
}
return flag;
}'코테' 카테고리의 다른 글
| [Algorithm] H-Index - JavaScript (0) | 2024.02.21 |
|---|---|
| [Git] 백준 / 프로그래머스 Git 연동 (0) | 2024.01.24 |
| [Algorithm] 행렬의 곱셈 - JavaScript (2) | 2024.01.23 |
| [Algorithm] 짝 지어 제거하기- JavaScript (0) | 2024.01.22 |
| [Algorithm] 요격 시스템 - JavaScript (0) | 2024.01.22 |