import math
def solution(s):
stack = []
for char in s:
if stack and stack[-1] == char:
stack.pop()
continue
stack.append(char)
return 1 if len(stack) ==0 else 0
print(solution("baabaa"), 1)
print(solution("cdcd"), 0)
스택을 이용해서 스택의 맨 위에 있는 것과 값이 같으면 스택에서 제거해준다. 스택에는 이 과정을 이미 거쳐온 것이기 때문에 같은 값이 연속해서 2개 들어 있을 수 없다는 전제가 깔려있다.