[LeetCode] 26. Remove Duplicates from Sorted Array (2)

Eunbi Lee·2026년 5월 17일

Algorithm

목록 보기
11/13
post-thumbnail

Problem

Remove Duplicates from Sorted Array

Solution

class Solution {
    public int removeDuplicates(int[] nums) {
        int uniqueIndex = 1;

        for (int index = 1; index < nums.length; index ++) {
            if (nums[index] != nums[uniqueIndex - 1]) {
                nums[uniqueIndex] = nums[index];
                uniqueIndex ++;
            }
        }

        return uniqueIndex;
    }
}

Description

이전 포스팅에서 언급했듯이, 첫 번째로 고유한 원소를 보호하기 위해서는 다음 원소부터 순회하면 된다.

즉, for 문에서 순회할 인덱스(index)를 1부터 시작하면 된다.

  • 동시에, 첫 번째로 고유한 원소를 순회를 시작한 원소와 비교하기 시작하면 된다.

비교를 하는 행위가 곧 uniqueIndex 가 가리키는 원소가 고유한 원소인지 확인하는 행위인 셈이다.

따라서, 값이 다를 경우 - 곧 고유한 원소이므로 uniqueIndex 를 활용하여 배열의 1번째부터 차곡차곡 쌓으면 된다.

이를 반환하면 중복되는 원소는 제거되고, 왼쪽에서부터 오른쪽 순서대로 고유한 원소만 쌓인 배열이 반환될 것이다.

ETC

다음 주부터는 LeetCode SQL 1문제씩 같이 풀이를 진행해보도록 하겠다.

  • 이전에는 프로그래머스 SQL 문제만 있는 줄 알았는데, LeetCode 에도 SQL 문제 모음집이 있는 걸 알아버렸기 때문이다 😎

개인적으로 난이도가 어느 정도일지 궁금하다. 뭔가 LeetCode style 대로 문제 설명은 상당히 깔끔할 것 같은데..?

profile
안녕하세요, 개발자 비비입니다.

0개의 댓글