알고리즘 & 코딩테스트

[백준] 4949번 균형잡힌 세상

Haksae 2022. 3. 11. 03:36

⛏ 문제 파악

  • 세계 질서를 잘 잡아줘야한다.
  • 우리는 그 질서를 스택 이용하여 잡겠다.
  • 스택은 후입선출이다.

👉🏻  답안

from sys import stdin

while True:
  stack = []
  sentence= stdin.readline().rstrip()
  
  if sentence == ".":
    break
    
  for i in sentence:
    if i == "(" or i == "[":
      stack.append(i)
    elif i == ")":
      if stack and stack[-1] == "(":
        stack.pop()
      else:
        stack.append(")")
        break
    elif i == "]":
      if stack and stack[-1] == "[":
        stack.pop()
      else:
        stack.append("]")
        break

  if len(stack) == 0:
    print("yes")
  else :
    print("no")

📑  간단한 설명

  • 스택으로 풀면 큰 문제는 없는 문제