코딩테스트
[파이썬] 짝지어 제거하기 - 2017 팁스타운 [CODING TEST #16]
ALTERww
2022. 7. 25. 15:38
320x100
https://school.programmers.co.kr/learn/courses/30/lessons/12973
앞에서부터 알파벳을 Stack에 넣고 나서, 맨 뒤의 알파벳 2개가 같은 경우를 while문을 이용하여 제거하도록 하면 될 거라고 생각했다. 이렇게 하면 대칭형 문자열이어서 연속적으로 제거되는 경우에도 while문에 해당되므로 모두 제거된다.
from collections import deque
def solution(s):
answer = -1
new_s = deque() # Stack
for alpha in s:
new_s.append(alpha)
while len(new_s) > 1 and new_s[-1] == new_s[-2]:
new_s.pop()
new_s.pop()
if len(new_s) == 0 : answer = 1
else : answer = 0
return answer