Programmers

[프로그래머스 / 파이썬 풀이] 짝지어 제거하기

Hoo_Dev 2023. 2. 13. 16:12
def solution(s):
    answer = -1
    stack = []
    
    for i in range(len(s)):
        if len(stack) == 0:
            stack.append(s[i])
        else:
            if stack[-1] == s[i]:
                stack.pop()
            else:
                stack.append(s[i])
    if stack:
        answer = 0
    else:
        answer = 1

    return answer

stack을 활용 한 풀이.

stack과 현재 순회하는 값을 비교 한 후 stack의 마지막 원소와 순회하는 원소가 같으면 stack을 pop 해준다.

같지 않다면 stack에 순회하는 원소를 append

 

순회가 끝났을 때, stack이 비어있다면 1, 비어있지 않다면 0