본문 바로가기
백준 알고리즘

파이썬) 백준 알고리즘 | 9012번 : 괄호

by 코딩새내기_ 2022. 2. 6.

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

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

백준 9012 '괄호' 문제입니다.

deque 모듈을 사용하였고, (가 들어오면 1을 append해주고 )가 들어오면 pop을 해주었습니다.

그리고 마지막에 deq 합을 구해서 그 합이 0이면 YES를 출력해주었습니다.

import sys
from collections import deque

N = int(input())
for i in range(N):
    error = False
    deq = deque()
    bracket = input().strip()
    for brac in bracket:
        if len(deq) == 0 and brac == ')':
            error = True
            break
        elif brac == '(':
            deq.append(1)
        else:
            deq.pop()
    cnt = sum(list(deq))
    if cnt == 0 and error is False:
        print('YES')
    else:
        print('NO')

댓글