문자열에서 같은 알파벳이 연달아 2번 나오면 잘라내고 이어 붙이기를 반복하여 문자열을 모두 제거 가능한지 여부를 반환하는 함수 작성
def solution(s):
stack = [s[0]]
for c in s[1:]:
if len(stack) > 0:
if stack[-1] == c:
stack.pop()
else:
stack.append(c)
else:
stack.append(c)
if len(stack) > 0:
return 0
else:
return 1
list
타입 변수 stack
에 문자열의 첫 문자를 넣고 시작stack
의 길이가 1 이상인 경우, stack
의 마지막 문자와 비교하여 서로 같을 경우 stack
을 pop()
하며, 서로 다를 경우 순회하던 문자를 stack
에 추가stack
의 길이가 0일 경우 비교할 문자가 없으므로 순회하던 문자를 stack
에 추가for
Loop 종료 후 stack
의 길이가 1 이상일 경우, 완전 삭제가 이루어지지 않았으므로 0 반환stack
의 길이가 0일 경우 완전 삭제가 이루어졌으므로 1 반환