올바른 괄호의 형태가 나왔을 때만 판별해야한다.
괄호중 ')'가 먼저 나오게 되면 항상 올바르지 않은 상황이니 'NO'가 나와야하며, 이 경우를 걸러내는 목적으로 코드를 짜면 빠르게 결과를 도출해낼 수 있다.
'(' 가 나왔을 경우 체크용 변수에 1을 더해주고 ')' 가 나왔을 경우 -1을 더해준다. (체크용변수는 0부터 시작)
체크용 변수가 음수가 되면 break를 걸어 'NO'가 출력되게 하고 나머지 경우에 대해서는 'YES'를 출력한다.
n = int(input())
for i in range(n):
check = 0 #괄호 체크용 변수
result = 'YES' #최종 결과 확인용 변수
v = input()
for j in v:
if j =='(':
check+=1
elif j == ')':
check+=-1
if check < 0:
result = 'NO'
break
if result == 'YES' and check == 0:
print('YES')
else:
print('NO')
'백준' 카테고리의 다른 글
소수 찾기 - 1978번 (0) | 2022.09.06 |
---|---|
k번째 수 - 11004번 (0) | 2022.09.05 |
단어정렬 - 1181번 (0) | 2022.09.03 |
직각삼각형 - 4153번 (0) | 2022.08.31 |
직사각형에서 탈출 - 1085번 (0) | 2022.08.30 |
댓글