viligen

balanced_parentheses

Jan 14th, 2022 (edited)
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.65 KB | None | 0 0
  1. expression = input()
  2.  
  3. opening_brackets = "([{"
  4. closing_brackets = ")]}"
  5. pair_brackets = "()[]{}"
  6.  
  7. opening_brackets_stack = []
  8. is_balanced = False
  9. for char in expression:
  10.     if char in opening_brackets:
  11.         opening_brackets_stack.append(char)
  12.     elif char in closing_brackets and opening_brackets_stack:
  13.         new_pair = opening_brackets_stack.pop() + char
  14.         if new_pair in pair_brackets:
  15.             is_balanced = True
  16.         else:
  17.             is_balanced = False
  18.             break
  19.     else:
  20.         is_balanced = False
  21.         break
  22. if is_balanced and not opening_brackets_stack:
  23.     print("YES")
  24. else:
  25.     print("NO")
  26.  
  27.  
  28.  
Add Comment
Please, Sign In to add comment