9장_20 스택,큐(유효한 괄호)

김동민·2021년 10월 23일
0


문제: 괄호로 된 입력값이 올바른지 판결하라(같은 괄호들로 열고 닫히는지 검사하는 문제)

1. 스택 일치 여부 판별

class Solution:
    def isValid(self, s: str) -> bool:
        stack = []
        table = {
            ')': '(',
            '}': '{',
            ']': '[',
        }

        # 스택 이용 예외 처리 및 일치 여부 판별
        for char in s:
            if char not in table:
                stack.append(char)
            elif not stack or table[char] != stack.pop():
                return False
        return len(stack) == 0

(,[,{는 스택에 push하고 ),],}를 만날 때 스택에서 pop한 결과가 매핑테이블 결과와 매칭이 되는지 확인을 해서 존재하지 않으면 푸시하고 팝했을 때 일치하지 않으면 false를 반환하도록 한다.

profile
틀리면 당신이 맞습니다... 개발하며 얻은 지식창고

0개의 댓글