Coding Test/백준
[백준 9012번] 괄호
Lucian_Cho
2021. 1. 4. 21:56
# 문제


내 풀이
t = int(input()) # 테스트 케이스 개수 저장
# 각 테스트 케이스에 대하여 알고리즘 수행
for num in range(t):
ps = list(input())
stack = [ps.pop(0)] # 스택을 만들어 입력의 첫번째 괄호를 담음
for p in ps:
# 스택에 괄호가 존재하며, 최상단에 있는 괄호가 '('이고 새로 스택에 들어오는 괄호가 ')'라면
if stack and stack[-1] == '(' and p == ')':
stack.pop() # 스택의 최상단 괄호 제거
# 다른 경우 스택에 새로운 괄호를 삽입
else:
stack.append(p)
# 스택에 괄호가 남아있을 경우
if stack:
print("NO")
# 스택이 비어 있을 경우
else:
print("YES")