https://www.acmicpc.net/problem/9012
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
num = int(input())
count = 0
for i in range(num):
string = str(input())
stack = []
for j in range(len(string)):
if not stack:
stack.append(string[j])
elif (stack[-1]=="(" and string[j]==")"):
stack.pop()
else:
stack.append(string[j])
if stack:
print("NO")
else:
print("YES")
바로 앞의 좋은 단어와 풀이는 유사합니다.
어차피 모든 문자열을 봐야하기 때문에 시간복잡도에서도 고민할 것은 딱히 없을 듯 합니다.
Comments powered by Disqus.