일단 본인 코딩 못하니까 절대 참고하지말 것
문제는 간단하다 그냥 왼쪽의 개수가 오른쪽보다 적어지면 안됨 + 마지막에 양쪽 개수 똑같아야 됨
이걸로 풀면
lst = []
n =int(input())
for i in range(0,n):
lst.append(str(input()))
def fun(lst):
str1 = ''.join(lst)
left = 0
for i in range(0,len(str1)):
if str1[i] == '(':
left += 1
else:
left -= 1
if left < 0:
print("NO")
return
if left > 0:
print("NO")
else:
print("YES")
for i in range(0,n):
fun(lst[i])
근데 파이썬으로 input을 받거나 list 갖고노는걸 잘 못해서 다른 코드를 본다.
input보다 sys.stdin.readline()을 자주 쓴다.
: java로 치면 nextline보다 dbufferedreader쓰는것처럼 성능 때문에 그런듯
import sys
a = map(int, sys.stdin.readline())
# a = [1, 2, 3, 4, 5]
import sys
n = input()
a = [sys.stdin.readline() for i in range(n)]
# a = ["1 2 3", "4 5 6"]
요런 스타일로 짜보자.