본문 바로가기

코딩테스트/Python

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

내 코드

def solution(arr):
    from collections import deque
    
    answer = []
    a = []
    arr = deque(arr)
    for i in range(len(arr)-1):
        if arr[0]==arr[1]:
            del arr[1]
        else:
            a.append(arr.popleft())
    a.append(arr[0])
    return a

큐를 사용하여 풀었다. 인덱스 0과 인덱스 1이 같으면 arr에서 제거한다.

다르면 arr에서 pop하고 a에 추가한다.

가장 마지막 원소는 a에 추가한다.

 

 

다른사람 코드

def no_continuous(s):
    a = []
    for i in s:
        if a[-1:] == [i]: continue
        a.append(i)
    return a

list a를 하나 만들어주고 a의 가장 마지막 원소와 i를 비교한다.

신기하다....