Valid Parentheses Check

Check if parentheses are balanced.

AdvancedPhase 5 - Category 5: Advanced String LogicExample 13 of 14
valid-parentheses-check.py
1# Take string
2s = input("Enter string with parentheses: ")
3
4# Check balance
5stack = []
6valid = True
7for char in s:
8 if char in '([{':
9 stack.append(char)
10 elif char in ')]}':
11 if not stack:
12 valid = False
13 break
14 top = stack.pop()
15 if (char == ')' and top != '(') or (char == ']' and top != '[') or (char == '}' and top != '{'):
16 valid = False
17 break
18
19if stack:
20 valid = False
21
22print("Valid" if valid else "Invalid")

Output

Enter string with parentheses: ()[]{}
Valid

What's going on

Use stack to match opening and closing.

Key Concepts:

Push opening brackets
Pop and match closing brackets
Check stack empty at end