Logic Building
# Take string
s = input("Enter string with parentheses: ")
# Check balance
stack = []
valid = True
for char in s:
if char in '([{':
stack.append(char)
elif char in ')]}':
if not stack:
valid = False
break
top = stack.pop()
if (char == ')' and top != '(') or (char == ']' and top != '[') or (char == '}' and top != '{'):
valid = False
break
if stack:
valid = False
print("Valid" if valid else "Invalid")Output
Enter string with parentheses: ()[]{}
ValidUse stack to match opening and closing.
Key Concepts:
- Push opening brackets
- Pop and match closing brackets
- Check stack empty at end