[LeetCode] 20. Valid Parentheses

2021. 1. 18. 00:15Problem Solving/LeetCode

LeetCode 20. Valid Parentheses

Solution

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

        for char in s:
            if char not in bracket:
                stack.append(char)  # open bracket
            elif not stack or bracket[char] != stack.pop():
                return False

        return len(stack) == 0
  1. 괄호 짝 딕셔너리로 설정
  2. open bracket일경우 stack에 push
  3. open이 없거나, 짝이 안맞을 경우 return False
  4. stack에 남아있을 경우(open이 더 많음) return False

Reference

파이썬 알고리즘 인터뷰

파이썬 알고리즘 인터뷰
국내도서
저자 : 박상길
출판 : 책만 2020.07.15
상세보기
반응형