반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

멋진 개발자가 되고 싶다

[LeetCode,Python] 20. 유효한 괄호(Valid Parentheses) 본문

Algorithm Study/leetcode

[LeetCode,Python] 20. 유효한 괄호(Valid Parentheses)

오패산개구리 2021. 7. 10. 16:49
728x90
반응형

괄호로 된 입력값이 올바른지 판별하라.

 

Input: s = "()[]{}"

Output: true

 

Input: s = "([)]"

Output: false

 

Input: s = "{[]}"

Output: true

 

 

 

** 깔끔한 답안 **

 

 

1. 스택 일치 여부 판별

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
cs

 

 

해설:

 

( , { , [ 는 스택에 쌓아두고

) , } , ] 가 나타나면 쌓여있는 스택을 pop 하여 같은 괄호인지 비교하면 된다.

 

 

 

[출처 : 파이썬 알고리즘 인터뷰(박상길 지음, 정진호 일러스트) 출판사: 책만]

728x90
반응형