[프로그래머스 파이썬] 짝지어 제거하기

일단 해볼게·2023년 2월 13일
0

프로그래머스

목록 보기
31/106

https://school.programmers.co.kr/learn/courses/30/lessons/12973

def solution(s):
    stack = []
    for i in range(len(s)):
        if not stack:
            stack.append(s[i])          # stack이 비어있다면 push()
        else:
            if s[i] == stack[-1]:       # stack 마지막 값과 s[i]가 같다면 pop()
                stack.pop()
            else:
                stack.append(s[i])      # stack 마지막 값과 s[i]가 다르면 push()

    if stack : return 0                 # stack이 비어있지 않다면 return 0
    else : return 1                     # stack이 비어있다면 return 1

처음에 슬라이싱으로 하려다가 시간초과났다. 문자열의 길이가 크면 stack을 이용하자

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글