[스택/큐] 같은 숫자는 싫어 (프로그래머스, Level 1)

Soorim Yoon·2022년 9월 14일
0

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12906

  • 배열의 연속적인 숫자는 제거하고, 각 숫자를 한 번씩만 출력하는 문제
  • 연속되어 있지 않다면 동일한 숫자도 다시 출력 가능
  • 단, 숫자의 순서가 바뀌어서 출력되면 안된다.
    ex)
    arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.
    arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.

풀이

  • arr 배열의 첫 숫자를 answer 배열에 삽입한다.
  • 이후 answer 배열의 가장 오른쪽에 위치한 마지막 값과 arr 배열의 요소들을 처음부터 끝까지 비교하면서, answer[-1]과 같은 값이면 skip, 다른 값이면 answer 배열에 삽입해준다.

코드

def solution(arr):
    answer = []
    answer.append(arr[0])       # 첫 번째 값 삽입

    for i in arr:       # answer 배열의 마지막 값이 현재 arr 요소와 같으면 skip, 다르면 answer 배열에 삽입
        if i != answer[-1]:
            answer.append(i)

    return answer
profile
👩🏻‍💻 AI를 좋아하는 IT학부생

0개의 댓글