- 문제 링크: https://leetcode.com/problems/valid-parentheses/
- 난이도: Easy
bracket 짝을 맞추는 문제인데, stack을 이용한다
여는 bracket이 나오면 스택에 넣고, 닫는 bracket이 나오면 스택에서 하나 pop 해온다. 만약 그전에 스택이 비어 있으면 짝이 안맞으니 False 반환한다. 꺼내온게 짝이 맞지 않는다면 False.
마지막으로 stack에 뭔가 남아있다면 역시 False 반환
class Solution(object):
def isValid(self, s):
stack = []
pairs = {
'(': ')',
'{': '}',
'[': ']'
}
for bracket in s:
if bracket in pairs: # opening
stack.append(bracket)
elif len(stack) == 0 or bracket != pairs[stack.pop()]:
return False
return len(stack) == 0
반응형
'Online Judge > LeetCode' 카테고리의 다른 글
[LeetCode][Python] 150. Evaluate Reverse Polish Notation (0) | 2024.09.08 |
---|---|
[LeetCode][Python] 155. Min Stack (0) | 2024.09.08 |
[LeetCode][Python] 42. Trapping Rain Water (0) | 2024.09.08 |
[LeetCode][Python] 11. Container With Most Water (0) | 2024.09.08 |
[LeetCode][Python] 15. 3Sum (0) | 2024.09.08 |