JavaScript
[프로그래머스 JavaScript] 올바른 괄호
운으로
2022. 9. 13. 21:20
https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
<풀이>
function solution(s){
const stack = new Array();
for(let i of s){
if(stack.length === 0){
if(i==='('){
stack.push('(');
}else return false
}
else{
if(i==='('){
stack.push('(');
}
else{
let check = stack.pop();
if(check===')'){
return false
}
}
}
}
return stack.length === 0 ? true : false
}
stack이 비었는데 ) 먼저 나오면 false 반환
스택이 있는데 현재 )인데 pop한 것도 ')' 이면 false반환 아닐 경우 append
마지막에 스택이 남아있을 경우에는 괄호가 올바르지 않으므로 false반환 비었을 경우 true 반환