기타/Coding test

[Python] 프로그래머스 level 2. 짝지어 제거하기

SOIT 2022. 11. 16. 21:08

 

처음에 for문으로 생각함

교차로 비교하면서 반환해줘야 하나 생각함

 

stack을 사용하면 쉽게 풀 수 있었음 

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

 

먼약

마지막 값이 현재 값과 같으면 pop(): 제거

같다면

push(): 추가

728x90