본문 바로가기
알고리즘

[python]programmers-같은숫자는 싫어

by ujin2021 2020. 8. 27.

level1

문제 : 같은숫자는싫어

 

1. 내풀이

def solution(arr):
    answer = []
    i = 0
    while (i < len(arr) - 1):
        if (arr[i] != arr[i+1]) :
            answer.append(arr[i])
        i = i + 1
    answer.append(arr[-1])
    return answer

처음엔 리스트에 어떤 숫자만 있는지 출력하는 줄 알고 set으로 바꾼후 리스트로 변환하여 리턴했는데 문제는 그게아니었다(문제를 잘읽자!)

현재의 숫자와 다음의 숫자가 같은지 확인해야하므로 반복문을 돌렸고, 앞의 숫자와 뒤의 숫자가 달라지는 시점에 앞의 숫자를 list에 append했다. 이때 마지막에 있는 숫자(혹은 숫자들)은 다음 숫자와 같은지 다른지 비교를 못하기 때문에 마지막 숫자는 반복문을 나와서 append해주었다.

 

다른풀이에 길이가 짧은 코드들도 많았는데 이문제는 조금 길더라도 이해하기 쉽게 짜는게 낫다고 생각했다.