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

김희원·2023년 1월 7일

프로그래머스

목록 보기
3/5
post-thumbnail

📍문제

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


✏️ 풀이

✔️ 스택(Stack)

  • 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조
  • Last In First Out (LIFO)
  • Data의 입력 = Push, 출력 = Pop

리스트를 사용하여 스택 구조 구현하기

a = [1, 2, 3, 4, 5]
a.append(10)  # 스택의 push = append()
a.pop()  # 스택의 pop = pop() -> 맨 뒤의 요소가 삭제 및 출력

✔️ 큐(Queue)

  • 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조
  • First In Fisrt Out (FIFO)
  • Stack과 반대되는 개념

리스트를 사용하여 큐 구조 구현하기

a = [1, 2, 3, 4, 5]
a.append(10)  # 큐의 put = append()
a.pop()  # 큐의 get = pop(0) -> 맨 앞의 요소가 삭제 및 출력
# pop(0) -> 0번째 요소 삭제 및 출력

💻 CODE

def solution(arr):
    ans = []
    for i in range(len(arr)):
        if i == 0:
            ans.append(arr[i])
        elif arr[i] != arr[i-1]:
            ans.append(arr[i])
    return ans

빈 배열을 만들어서 arr[i]arr[i-1]을 비교하여 리스트에 넣어준다.

0개의 댓글