9012번 : 괄호 - Python

FriOct·2023년 1월 23일
0

PS

목록 보기
23/108

문제

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

풀이

스택을 이용하여 풀이를 하면 된다.

  • '('인 경우
    • 스택에 push
  • ')'인 경우
    • 스택이 비어있지 않다면 pop
    • 스택이 비어있다면 'NO'
  • 문자열을 다 돌고 난 후
    • 스택이 비어있지 않다면 'NO'
    • 스택이 비어있다면 'YES'

코드

from sys import stdin

input = stdin.readline

n = int(input())

for i in range(n):
    string = list(input())
    stack = list()
    for i in string:
        if i =='(': 
            stack.append('(')
        elif i==')' and stack:
            stack.pop()
        elif i==')' and not stack: # ) 인경우인데 스택이 비어있다면 NO를 출력
            print('NO')
            break
    else:
        if stack:
            print('NO')
        else:
            print('YES')
profile
꿈 많은 개발자

0개의 댓글