상세 컨텐츠

본문 제목

99클럽 코테 스터디 15일차 TIL + 오늘의 학습 키워드 : 스택/큐

본문

728x90
반응형

스택/큐
프로그래머스 - 같은 숫자는 싫어

 

def solution(arr):
    if not arr:  # 배열이 비어있을 경우
        return []
    
    result = [arr[0]]  # 결과 배열에 첫 번째 원소 추가
    
    for i in range(1, len(arr)):
        if arr[i] != arr[i - 1]:  # 이전 원소와 다를 경우
            result.append(arr[i])  # 결과 배열에 추가
    
    return result

설명:


초기화: 결과 배열 result를 첫 번째 원소로 초기화합니다.
순회: 배열의 두 번째 원소부터 끝까지 순회하면서, 현재 원소가 이전 원소와 다를 경우에만 결과 배열에 추가합니다.
반환: 최종적으로 결과 배열을 반환합니다.


예시:
arr = [1, 1, 3, 3, 0, 1, 1]일 때, 함수는 [1, 3, 0, 1]을 반환합니다.
arr = [4, 4, 4, 3, 3]일 때, 함수는 [4, 3]을 반환합니다.
이 방법은 배열을 한 번만 순회하므로 시간 복잡도는 O(n)이며, 공간 복잡도는 결과 배열의 크기에 따라 달라집니다. 이 구현은 주어진 제약 조건을 만족합니다.

728x90
반응형

관련글 더보기