정수형 배열 nums이 주어지고 In-place를 활용해 각각 고유한 원소만 있는 배열로 수정 후 배열의 길이를 반환하면 된다.
/**
* @param {number[]} nums
* @return {number}
*/
var removeDuplicates = function(nums) {
// 1개짜리 배열은 바로 리턴
if(nums.length === 1) return 1;
// 기준이 될 pointer1과 비교할 pointer2를 선언
let pointer1 = 0, pointer2;
for(let i = 1; i < nums.length; i++){
pointer2 = i;
// 원소 검사 중 중복되지 않는 원소가 나오면
if(nums[pointer1] !== nums[pointer2]){
/*
* 기준이 되던 nums[pointer1]의 바로 뒤 원소를 nums[pointer2]로
* 바꾼 후 pointer1를 한 칸 뒤로 변경
*/
nums[pointer1 + 1] = nums[pointer2];
++pointer1;
}
}
nums.length = pointer1 + 1;
return nums.length;
};