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

Kerri·2021년 3월 19일
0

코테

목록 보기
27/67

안녕하세요 :)

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

프로그래머스 짝지어 제거하기 문제입니다.

풀이

짝지어 제거하기! 라면 괄호짝짓기 문제처럼 풀 수 있습니다.
baabaa로 예를 들어 보겠습니다.
1) stack = [b, a] 이고 alpha가 a이면
stack[-1] = alpha 이므로 stack.pop()을 해줍니다.
2) 그럼 stack은 [b]가 됩니다. 그 다음 alpha가 b이므로 stack[-1] = alpha이니까 또 stack.pop()을 해줍니다.
......
반복

for alpha in s를 반복해줍니다.

def solution(s):
    stack = []
    
    for alpha in s:
        if stack and stack[-1] == alpha:
            stack.pop()
        else:
            stack.append(alpha)
    
    return 1 if len(stack) == 0 else 0
profile
안녕하세요 !

0개의 댓글