문제: https://programmers.co.kr/learn/courses/30/lessons/12973

풀이

스택으로 풀이.
스택에 원소가 있고 s의 현재 알파벳과 스택 마지막 원소가 같다면 스택에서 pop을 해 짝지어 제거한다.
스택에 원소가 없거나 현재 알파벳과 스택 마지막 원소가 다르면 현재 알파벳을 스택에 집어 넣는다.
반복문이 끝나고 스택에 원소가 있다면 짝지어 제거하기가 실패했으므로 0을 반환, 아니면 1을 반환한다.

소스코드

def solution(s):
    stack = []
    
    for alphabet in s:
        if stack and alphabet == stack[-1]:
            stack.pop()
        else:
            stack.append(alphabet)
    
    if stack:
        return 0
    return 1