728x90
백준 9012 괄호
# 9012 괄호
N = int(input())
for i in range(N):
R = list(input())
if R[0] == ')' or R[-1] == '(':
print('NO')
else:
num = 0
for j in R:
if j == '(' and num >= 0:
num += 1
else:
num -= 1
if num == 0:
print('YES')
else:
print('NO')
먼저 입력으로 받아오는 괄호의 맨 앞과 맨 뒤가 틀리면 바로 'NO'를 반환해준다.
양끝 값이 정상으로 되어있다면 그 안의 괄호 순서의 값을 구해서 답을 출력한다.
num이라는 변수에 0을 할당해 생성해주고
'(' 괄호는 먼저 나와야 하는 괄호이므로 num이 0 이상일 때만 카운트한다.
'(' 괄호가 나오기 전에 ')' 괄호가 나왔다면
num이 마이너스 숫자가 되어서 'NO'를 출력하게 된다.
728x90
'Algorithm' 카테고리의 다른 글
백준 10816 파이썬 (0) | 2022.02.22 |
---|---|
백준 10773 파이썬 (0) | 2022.02.15 |
백준 1904 파이썬 (0) | 2022.02.15 |
백준 10989 파이썬 (0) | 2022.02.09 |
백준 11866 파이썬 (큐) (0) | 2022.02.08 |