본문 바로가기
Programming/Python

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

by 왕밤빵도라에몽 2025. 3. 26.
728x90

기본아이디어

요소 하나씩 보면서 전꺼랑 다르면 새 리스트에 append

def solution(arr):
    answer = [arr[0]]

    for i in range(1, len(arr)):
        if arr[i] != arr[i-1]:
            answer.append(arr[i])

    return answer
  • 첨에 collections.dequearr를 감싼담에, 큐에서 leftpop()해가면서 전꺼랑 다르면 answerappned()했는데
  • 그러면 리스트를 덱으로 감싸는 비용 O(n)이 드니까. 굳이굳이 그럴 필요없음
  • 리스트의 left요소 삽입 / 제거를 반복적으로 해야한다 O(n^2) -> 덱으로 감싸기. popleft()O(1)
  • 리스트의 left부터 요소를 탐색해야한다 -> 그냥 탐색 돌리기 (리스트 변형X)
728x90

'Programming > Python' 카테고리의 다른 글

[프로그래머스] 체육복  (0) 2025.03.27
[프로그래머스] 최소직사각형  (0) 2025.03.27
[프로그래머스] 완주하지 못한 선수  (0) 2025.03.26
[백준] 2164 | 카드2  (1) 2024.12.11
[백준] 10773 | 제로  (0) 2024.12.11