문제풀이/프로그래머스

[프로그래머스][Lv2] - 짝지어 제거하기(Python)

얄루몬 2021. 10. 21. 23:48

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

 

 

<초기 아이디어>

# 초기엔 while문으로 구성을 하려 했는데 복잡하게 되는 느낌이라 이 방법 말고 다른 방법을 고안했다

# pop을 조금 더 수월하게 쓰기 위해서

 

 

<코드에 사용된 아이디어>

# 스택을 이용해서 for문이 s를 하나씩 확인 할 때 같은 것들을 pop 그렇지 않으면 append해주는 형식으로 진행했다.