(Array / String) Remove Duplicates from Sorted Array

송재호·1일 전
0

https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/?envType=study-plan-v2&envId=top-interview-150

이 시리즈의 이전 문제들과 비슷한 유형의 문제다.
다만 중복제거라는 점이 다름.

nums[i]의 범위가 -100에서 100 사이이므로 절대 될 수 없는 값인 -101을 초기값으로 설정해두고 0번 인덱스부터 순회시키면 되겠다.

기본적인 아이디어는 기존과 같음.
별도의 인덱스를 두고 k번째까지만 덮어씌운다.

class Solution {
    public int removeDuplicates(int[] nums) {
        int last = -101;
        int k = 0;
        
        for (int i=0; i<nums.length; i++) {
            if (nums[i] != last) {
                nums[k++] = nums[i];
                last = nums[i];
            }
        }

        return k;
    }
}

또는 그냥 nums[i] != nums[i - 1] 논리로 체크해도 될 듯.

profile
식지 않는 감자

0개의 댓글