programmers/level1

[level1] - 같은 숫자는 싫어

태기의삶 2020. 2. 28. 00:05

 

 

프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

 

[풀이]

핵심!

배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다.

단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다.

먼저 결과 값에 배열의 첫 번째 값을 항상 가지고 있기 때문에 리스트에 배열의 첫번째 값을 추가한다.

그리고 나서, 배열 1부터 마지막 원소 전까지 전, 후 비교하면서 틀리면 뒤에 있는 값을 추가한다. 

 

[code]

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