스택 구조에 대한 이해를 높여보자
문제
괄호로 된 입력값이 올바른지 판별하라
입력
()[]{} ([])
출력
true
풀이
- ‘(’, ‘[’, ‘{’는 스택에 push하고 ‘)’, ‘]’, ‘}’를 만날때 pop한다.
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
새로운 개념
- 스택에 푸쉬하고, 만날때 pop하는 컨셉