[LeetCode/Java] 26. Remove Duplicates from Sorted Array

yuKeon·2023년 8월 22일
0

LeetCode

목록 보기
3/29
post-thumbnail

0. 문제

https://leetcode.com/problems/remove-duplicates-from-sorted-array/


1. 문제 설명

  • 오름차순으로 정렬된 정수 배열 nums가 주어진다.
  • 배열의 중복된 요소를 제거하여, 각 원소가 한 번만 등장하게 하라.
  • 원소들의 자리는 유지되어야 한다.

2. 문제 풀이

2.1. 접근법

  • nums의 모든 원소를 탐색한다.
  • 오름차순으로 정렬되었기 때문에 같은 원소는 모여있다.
  • 이전에 나왔던 값(pre)을 저장하고, 해당 값과 다른 값이 나오면 카운트를 증가시키고 이전 값을 갱신한다.
  • pre는 -101로 초기화한다. (조건에 제시된 nums[i]의 최솟값이 -100이기 때문)

2.2. 의사코드

for (nums의 원소)
	if (nums의 원소의 값이 이전에 나온 값과 다르면)
		nums[카운트++] = nums 원소
		이전의 원소 = nums 원소
return count;

3. 코드

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

4. 결과


5. 개선점

0개의 댓글