본문 바로가기
Algorithm

[leetCode 27번] Remove Element (JAVA)

by ddahu 2023. 8. 24.

1.문제

LeetCode - The World's Leading Online Programming Learning Platform

 

LeetCode - The World's Leading Online Programming Learning Platform

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com


2. 문제 설명

 

- 정수 배열 nums와 정수 val이 주어진다.

- nums에서 val이 포함된 모든 항목을 제자리에서 제거한다.

- 요소의 순서는 변경될 수 있고. 그런 다음 nums에서 val과 같지 않은 요소의 수를 반환

-.nums에서 val과 같지 않은 요소의 개수가 k라고 가정할 때 이를 허용하려면 다음과 같은 작업을 수행해야 합니다:

- nums의 처음 k 요소에 val과 같지 않은 요소가 포함되도록 배열 nums를 변경합니다.

- 배열 내의 요소를 조작하여 주어진 조건을 만족시키는 것이 핵심

 


3. 소스 코드

 

class Solution {
    public int removeElement(int[] nums, int val) {
    int idx = 0;    
    for (int num : nums) {
        if (num != val) {
            nums[idx] = num;
            idx++;
        }
    }  
    return idx;
    }
}

4. 문제 설명

 

배열 내의 요소를 조작 하여 제거 하는 것이 핵심 처럼 보인다. 

주어진 val 의 index 를알기 위해 idx 를 선언하고 for문을 통해 각각의 요소를 찾아가면서 val 과 다르면 nums의 순서의 변경과 counting을 해준다. 배열 nums에서 값 val을 제거하고 남은 요소들만을 배열의 앞부분에 저장하며, 남은 요소들의 개수를 반환