Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발 일지

27. Remove Element (요소 제거) 본문

코딩 테스트/LeetCode

27. Remove Element (요소 제거)

포카리tea 2024. 3. 19. 16:05

nums 배열 번호와 val 값이 주어지면, val의 값을을 nums 내에서 전부 제거합니다. 원소의 순서가 바뀔 수 있습니다. 그런 다음 val과 동일하지 않은 요소의 수를 반환합니다.

val과 동일하지 않은 nums의 요소 수를 k로 간주하고, 합격하려면 다음 작업을 수행해야 합니다:

  • 배열 nums를 변경하여 nums의 첫 번째 k개의 원소가 val과 동일하지 않은 원소를 포함합니다. 나머지 nums의 원소는 nums의 크기뿐만 아니라 중요하지 않습니다.
  • Return K

 

예시 1:

입력: nums = [3,2,2,3], val = 3
출력: 2, nums = [2,2,_,_]
설명: 함수는 k = 2를 반환해야 하며, 처음 두 개의 숫자 요소는 2입니다.
반환된 k 외에 무엇을 남겨두는지는 중요하지 않습니다(따라서 밑줄로 표시됩니다).

 

예시 2:

입력: nums = [0,1,2,2,3,0,4,2], val = 2
출력: 5, nums = [0,1,4,0,3,_,_,_]
설명: 함수는 k = 5를 반환해야 하며 숫자의 처음 5개 요소는 0, 0, 1, 3, 4를 포함해야 합니다. 
5개 요소는 어떤 순서로든 반환될 수 있습니다. 
반환된 k 외에 무엇을 남겨두는지는 중요하지 않습니다(따라서 밑줄로 표시됩니다).

 

 

조건:

  • 0 <= nums.length <= 100
  • 0 <= nums[i] <= 50
  • 0 <= val <= 100

 

정답:

public class Solution 
{
    public int RemoveElement(int[] nums, int val) 
    {
        int i = 0;
        for (int j = 0; j < nums.Length; j++) 
        {
            if (nums[j] != val) 
            {
                nums[i] = nums[j];
                i++;
            }
        }
        
        return i;
    }
}

해설:  val에 해당하는 값을 제거하고 갯수를 return 해주기 위해서 for문을 이용하여 val 값이 아닐 때에 nums에 요소를 넣어주어 정리한 후 해당하는 갯수인 i값을 return 해주었습니다.