Algorithm
[백준]9012번 괄호 문제 풀이
tomato_dev
2022. 3. 1. 21:35



T = int(input())
result = []
for _ in range(T):
VPS = input()
num = 0
for i in VPS:
if num < 0 :
break
if i == '(':
num+=1
if i == ')':
num-=1
if num == 0:
result.append("YES")
else:
result.append("NO")
for item in result:
print(item)
위 문제에서 포인트로 잡은것은 괄호의 수 입니다. 즉 문자를 하나씩 봤을때 ( 와 ) 문자가 있는데
1.이 두개의 숫자가 일치해야 한다.
2.괄호가 열렸으면 그 숫자만큼 닫혀야한다.
위의 두가지를 생각하여 괄호가 열리면 +1 닫히면 -1을 하였습니다.
하지만 괄호가 먼저 닫히거나 중간에 열린 괄호 이상으로 닫혔다면 수는 -1이상이 되기 때문에
NO를 출력하는 형식으로 작성하였습니다.