Lv1. 같은 숫자는 싫어

Hello·2022년 7월 6일
0

코딩테스트 연습 > 같은 숫자는 싫어

1. 풀이 설명

i번째 기준, i+1번째에 같은 숫자가 있으면 건너뛰고, 다른 숫자가 있으면 i번째 숫자를 answer에 추가한다.

마지막 숫자는 항상 결과 list에 추가한다.
(i+1번째 값과 비교했기 때문에 마지막 숫자를 생각해야 한다.)

2. 나의 풀이

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

3. 다른 사람의 풀이

def solution(arr):
    answer = []
    for item in arr:
        if answer[-1:] == [item]: continue
        answer.append(item)
    return answer

4. 배운점

  1. python list 에서는 add가 아니라 append로 아이템을 추가한다.
  2. for item in list:
  3. answer[-1:]: answer 리스트의 마지막 숫자 1개 리스트
    [item]: 현재 순서의 숫자 1개 리스트
  4. 마지막에 결과 리스트에 추가된 숫자와 현재 순서의 숫자를 비교함으로써 lastIdx가 불필요한 방법을 배웠다.
profile
안녕하세요 :)

0개의 댓글