def solution(s):
stack = []
cnt1 = 0
cnt2 = 0
for i in range(len(s)):
stack.append(s[i])
if stack[i] == '(':
cnt1 += 1
elif stack[i] == ')':
if i == 0:
return False
cnt2 += 1
if cnt1 == cnt2:
return True
else:
return False
괄호들을 하나씩 스택에 담는데 ((이 들어오는 개수를 세고 ((만큼 ))이 들어오면 true를 출력하고 하나라도 수가 많거나 적으면 false를 출력한다.
)가 들어오면 아예 false이니까 이거는 따로 처리를 해준다.
def solution(s):
stack = []
for i in s:
if i == '(':
stack.append(i)
else:
if stack == []:
return False
else:
stack.pop()
return (stack == [])