Advertisement
Nenogzar

6. Balanced Parentheses

May 14th, 2024
721
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.05 KB | None | 0 0
  1. input_string = input()
  2. stack = []
  3. balanced = True
  4.  
  5. for char in input_string:
  6.     # Ако символът е отваряща скоба, добавям го към стека
  7.     if char in "([{":
  8.         stack.append(char)
  9.     else:
  10.         # Проверявам дали няма отварящи скоби, и ако е, това означава неправилно разположение на затваряща скоба
  11.         if not stack:
  12.             balanced = False
  13.             break
  14.         # Изваждам последната добавена отваряща скоба от стека и проверявам дали отговаря на съответната затваряща скоба
  15.         last_opening = stack.pop()
  16.         if (char == ")" and last_opening != "(") or \
  17.            (char == "]" and last_opening != "[") or \
  18.            (char == "}" and last_opening != "{"):
  19.             balanced = False
  20.             break
  21.  
  22. if stack:
  23.     balanced = False
  24.  
  25. if balanced:
  26.     print("YES")
  27. else:
  28.     print("NO")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement