항해99/[항해99] 알고리즘
[BOJ] 9012 괄호 파이썬
맹찬
2024. 1. 15. 09:13
https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
스택을 이용한 괄호문제.
스택의 종류가 하나라서 개수만 확인하면 돼서 꽤 쉽다.
( 일 경우, 스택에 추가하고, )의 경우에 스택에서 pop하는 형식으로 짜고,
0개일때 pop하는경우랑, 마지막 문자까지 읽었는데 스택에 남아있는 경우에는 NO를,
마지막까지 읽었고 스택이 0인 경우엔 YES를 출력한다.
해답코드
T = int(input())
for _ in range(T):
s = input()
flag = 0 # 비정상종료시 1
st = []
for i in s:
if i == "(":
st.append("(")
if i == ")":
if len(st) == 0:
print("NO")
flag = 1
break
st.pop()
if flag == 0:
if len(st) != 0:
print("NO")
continue
print("YES")