[Programmers] - 짝지어 제거하기 (Level 2)


2017 팁스타운
LEVEL : 2
문제링크

Key point :

  • 문자열의 길이 범위가 아주 크므로 최대 O(n)정도로 풀 생각하기
  • Stack을 사용한 접근
s = 'bccddb'
def solution(s):

    stack = []
    for i in range(len(s)):
        stack.append(s[i])
        if len(stack) >1:
            if stack[-1] == stack[-2]:
                stack.pop(-1)
                stack.pop(-1)

    if not stack : return 1
    return 0
solution(s)
1

Comments