출처: leetcode.com/problems/valid-parentheses/
문제
한글 번역은 아래 더보기를 클릭해주세요.
풀이
class Solution:
def isValid(self, s: str) -> bool:
stack = []
top = ''
for b in s:
# 열렸으면 push
# 닫혔으면 탑과 비교하고, 짝이 맞으면 pop 짝이 안 맞으면 true
if b == '(' or b == '[' or b == '{':
stack.append(b)
top = b
elif (b == ')' and top == '(') or (b == ']' and top == '[') or (b == '}' and top == '{'):
stack.pop()
top = stack[-1] if len(stack) > 0 else None
else:
return False
# 열린 괄호만 있는 경우 예외처리
return len(stack) == 0
결과
'CS기초 > 코딩테스트' 카테고리의 다른 글
LeetCode #424 (0) | 2022.12.21 |
---|---|
LeetCode 1209 (Easy) Remove All Adjacent Duplicates in String II (0) | 2021.03.23 |
LeetCode 232 (Easy) Implement Queue using Stacks (0) | 2021.03.23 |
이것이 취업을 위한 코딩테스트다 15장. 이진탐색 문제 (0) | 2021.03.11 |
LeetCode 35 (Easy) Search Insert Position (0) | 2021.03.11 |