[Programmers](python) 짝지어 제거하기

berry ·2022년 6월 19일
0

Algorithm

목록 보기
73/77
post-thumbnail

🧩 문제


🧩 문제 해석

연속된 문자열 두 개만 같으면 되므로 간단하게 이중 반복문으로 해결해도 되지만 효율성에서 문제가 된다.

계속해서 현재 문자와 전 문자를 비교하고 제거하면 된다.


🏁 내 풀이

# 프로그래머스 _ Lv 2 _ 짝지어 제거하기

def solution(s):
    # 문자를 저장할 리스트 초기화
    stack = []
    for i in s:
        # 리스트에 아무 문자도 없으면
        if len(stack) == 0:
            # 문자 추가하기
            stack.append(i)
        # 바로 전의 문자가 현재 문자와 같으면
        elif stack[-1] == i:
            # 전 문자 제거
            stack.pop()
        else:
            stack.append(i)
    # 연속되는 문자열을 담은 리스트가 0이면 전부 연속이므로
    if len(stack) == 0:
        answer = 1
    else:
        answer = 0
        
    return answer

profile
Engineer

0개의 댓글