본문 바로가기
코딩테스트

[프로그래머스] 스택 - 같은 숫자는 싫어

by 박매트 2024. 1. 26.

 

나의 답

def solution(arr):
    
    answer = []
    
    for i in range (len(arr)-1):
        if (arr[i]!=arr[i+1]):
            answer.append(arr[i])
        
    answer.append(arr[len(arr)-1])    
    return answer

 

꽤나 금방 풀었다...

숫자가 달라지는 순간을 찾아 리스트에 append하였다.

맨 마지막에 오는 숫자를 따로 더해줬다.

 

다른 사람 답

def no_continuous(s):
    # 함수를 완성하세요
    a = []
    for i in s:
        if a[-1:] == [i]: continue
        a.append(i)
    return a

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( no_continuous( "133303" ))

 

슬라이싱으로 풀게 되면, 저절로 답의 맨 마지막 숫자랑 비교하겠구나..

대박이다.