Algorithm/프로그래머스

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

hammii 2021. 10. 3. 15:35
728x90
반응형
 

코딩테스트 연습 - 짝지어 제거하기

짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙

programmers.co.kr

 

👩🏻‍💻 코드

def solution(s):
    stack = []

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

    return 0 if stack else 1

 

📝 정리

연속으로 같은 알파벳이 나오게 되면 2개를 한 번에 제거하면 된다. 따라서 stack을 사용했다.

  • 스택의 맨 위에 있는 값이 현재 값과 같은 경우 (연속으로 같은 알파벳인 경우) -> pop
  • 스택의 맨 위에 있는 값이 현재 값과 다른 경우 -> append

 

 

 

 

728x90
반응형