안녕하세요 :)
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