[알고리즘] 프로그래머스 1단계 - 같은 숫자는 싫어

방법1

def solution(arr):
    
    answer = []
    
    for i in arr[:]:
        if len(answer) > 0:
            if i == answer[-1]:
                arr.remove(i)
            else:
                answer.append(i)
        else:
            answer.append(i)
    
    return answer
  • arr 배열을 돌면서, 같은 숫자가 있는 경우 원소를 제거한다.
  • for i in arr[:] 반복문 안에서 remove()는 효율성이 낮다.


방법2

def solution(arr):
    
    answer = [arr[0]]
    curr = arr[0]
    
    for i in arr:
        if curr != i:
            answer.append(i)
            curr = i
    
    return answer
  • curr라는 변수에 들어갈 값을 담아두고, 이전과 다른 값이면 넣어준다.

좋은 웹페이지 즐겨찾기