return 등에 'a if con else'와 같이 활용 !!!
return len(a) == 0 (ref. tip)
'()'를 모두 없애고 남는게 있는지 확인하는 기막힌 방법도 있다. (ref. sol )
'({[' 문제에서는 dictionary 활용법도 괜찮은 듯
def f_t(id_t):
if id_t == 0:
s, r = "()()", True
elif id_t == 1:
s, r = "(())()", True
elif id_t == 2:
s, r = ")()(", False
elif id_t == 3:
s, r = "(()(", False
return s, r
from collections import deque
def solution(s):
n = len(s)
if s[0] == ')':
return False
a = deque()
for i in range(n):
if s[i] == '(':
a.append('(')
else:
if len(a) == 0:
return False
else:
a.pop()
#if len(a) != 0:
# return False
#return True
return len(a) == 0
for id_t in range(4):
# for id_t in [1]:
s, r = f_t(id_t)
a = solution(s)
print([a,r])