파이썬 알고리즘-112 (프로그래머스) 짝지어 제거하기

4978 단어 algorithmalgorithm

코드

def solution(s):
    answer = 0
    res=[s[0]]
    for i in range(1,len(s)):
        if len(res)==0:
           res.append(s[i]) 
        elif res[-1]!=s[i]:
            res.append(s[i])
        else:
            res.pop()

    if len(res)==0:
        answer=1
    else:
        answer=0
    return answer

다른 사람의 풀이

def solution(s):
    result = []
    for i in s:
        if not result:
            result.append(i)
        elif result[-1] == i:
            result.pop()
        else:
            result.append(i)
    return int(not bool(result))
# 조건문으로 1,0을 나눌 필요 없이 boolean 타입으로 1,0을 쉽게 만들 수 있다
# 다만 문제에서는 모두 제거했을 때 1이어야 하므로 not을 넣어준다

좋은 웹페이지 즐겨찾기