본문 바로가기
Algorithm/LeetCode

[Java] 27. Remove Element

by tabasco 2023. 6. 7.

문제 설명 :

지난 문제와 동일하게 답안을 확인하는 코드 양식이 정해져있었습니다. 문제 자체는 주어진 1차원 배열에서 주어진 val값을 제외시키면 되는 아주 간단한 문제였습니다.

 

class Solution {
    public int removeElement(int[] nums, int val) {
        int n = nums.length;
        int k = 0;
        if (n == 0) {
            return 0;
        }

        //k는 현재 중복되지 않은 nums의 위치
        for (int i = 0; i < n; i++) {
            if (nums[i] != val) {
                nums[k] = nums[i];
                k++;
            }
        }

        return k;
    }
}

 

해설 :

지난 문제와 마찬가지로 k의 값을 포인터 처럼 활용해서 이동시키고, val과 현재 값을 비교해서 같지 않을때만 값을 덮어씌우면 됩니다.