[스택] BOJ 9012 - 괄호 / python

지연·2022년 1월 13일
0

BOJ

목록 보기
3/7

링크

https://www.acmicpc.net/problem/9012

문제

입출력 예제

💡사고의 흐름

  • 우선, 입력받은 N만큼 반복
  • vps를 입력받으며 ( 일때 -> stack에 추가
  • ) 인 경우 pop() -> 이때, stack에 값이 있을 때만 pop
  • stack 에 값이 없다는 것은(비어있는 스택) -> flag = False(올바르지 않은 문자열)
  • vps를 다 돈 후, stack에 값이 남아 있는 경우-> flag = False

Code

import sys
n = int(sys.stdin.readline())
for i in range(n):
  flag = True
  stack =[]
  vps = sys.stdin.readline()
  for v in vps:
    if v=='(':
      stack.append(v)
    elif v==')':
      if len(stack)>0:
        stack.pop()
      else:
        flag = False
        break
  if len(stack)==0 and flag==True:
    print('YES')
  else:
    print('NO')
profile
기록하는 삶. 알고리즘 공부를 기록합니다!

0개의 댓글