leetcode

20. Valid Parentheses 자바스크립트 스택

냠냠맨 2023. 1. 7. 21:52

⚡문제정보

 

스택 문제의 예제로 자주 나오는 괄호네요

스택을 이용하면 간단히 풀 수 있습니다.

 


 

 

🔍나의 풀이

 

var isValid = function(s) {
    let stack = []
    for(i=0 ; i<s.length; i++) {
        if(s[i] == '(' || s[i] == '[' || s[i] == '{'  ) {
            stack.push(s[i])
        }
        if(s[i] == ')' && stack[stack.length -1] == '(') {
            stack.pop()
        }
        if(s[i] == ']' && stack[stack.length -1] == '[') {
            stack.pop()
        }
        if(s[i] == '}' && stack[stack.length -1] == '{') {
            stack.pop()
        }
    }
    
    return stack.length ? false : true
};

 

열리는 괄호면 stack에 집어넣어주고

닫히는 괄호라면 스택의 맨끝과 비교해서 일치하는 경우에 pop해줍니다.

만약 괄호의 종류가 한가지라면 if를 저렇게 종류별로 사용하지 않아도 될것입니다.

 

 

반응형