From 71aa2d0c845b3f6b938cfb6e9b705b1a01f16155 Mon Sep 17 00:00:00 2001 From: prograsshopper Date: Sat, 20 Dec 2025 23:28:23 +0900 Subject: [PATCH] week 6: valid parentheses --- valid-parentheses/prograsshopper.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 valid-parentheses/prograsshopper.py diff --git a/valid-parentheses/prograsshopper.py b/valid-parentheses/prograsshopper.py new file mode 100644 index 000000000..79a5ce995 --- /dev/null +++ b/valid-parentheses/prograsshopper.py @@ -0,0 +1,23 @@ +class Solution: + def isValid(self, s: str) -> bool: + # time complexity: O(n) + # space complexity: O(n) + opens = ['(', '[', '{'] + closes = [')', ']', '}'] + required = [] + pair = { + '(': ')', + '[': ']', + '{': '}' + } + answer = True + for elem in s: + if elem in opens: + required.append(pair[elem]) + else: + if elem in required and required[-1] == elem: + required.pop() + else: + answer = False + break + return True if (answer and len(required) == 0) else False