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

 


1. 문제

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

2. 풀이

  • 문자열을 idx를 하나씩 늘려가면서 stack에 top과 비교하는 아래의 과정을 반복합니다.
    • idx를 늘려가면서 문자열을 탐색하고 stack 맨 상위의 글자와 같은 경우에는 stack 에서 상위 글자를 제거하고,
    • 아닌 경우에는 stack에 문자열을 넣어 줍니다.
def solution(s): 
    stk = [s[0]]
    
    for i in range(1, len(s)):
        if len(stk) == 0:
            stk.append(s[i])
            continue
        
        if stk[-1] == s[i]:
            stk.pop()
        else:
            stk.append(s[i])
    
    return (0 if len(stk) else 1)