[Python][프로그래머스 Lv.2] 짝지어 제거하기

1jinju·2023년 10월 6일
0

프로그래머스

목록 보기
9/14

짝지어 제거하기

def solution(s):
    if len(s) % 2 == 1: # 문자열의 개수가 홀수개라면 짝지어 제거할 수 없으므로 0 return
        return 0
    l = []
    for i in s:
     	# l이 비어 있거나 l의 마지막 원소가 i와 같지 않으면
        if len(l) == 0 or l[-1] != i:
            l.append(i)
        elif l[-1] == i:
            l.pop() # l의 마지막 원소 제거
    s = ''.join(l) # 리스트 -> 문자열
    if len(s) == 0: # s가 비어 있으면 모두 짝지어진 것이므로 1 return
        return 1
    return 0

다른 사람의 풀이

def solution(s):
    temp = ["",s[0]]

    for i in s[1:]:
        if temp[-1]!=i:
            temp.append(i)
        else:
            temp.pop()

    return 1 if len(temp)==1 else 0

리스트 앞에 빈 문자열을 넣어서 첫 번째 문자가 제거되는 경우에도 이전 문자와 현재 문자를 비교할 수 있도록 했다 👍

profile
아자잣

0개의 댓글