#27 Remove Element

전우재·2023년 8월 24일
0

leetcode

목록 보기
2/21

문제링크 - https://leetcode.com/problems/remove-element/description/?envType=study-plan-v2&envId=top-interview-150

문제 분석

  • 0 <= nums.length <= 100
  • 0 <= nums[i] <= 50
  • 0 <= val <= 100
    입력받은 val을 제외하여 배열을 재배치 하는 것.

문제 해결

문제 해결 로직

  1. int array nums와 int val을 입력받는다.
  2. 배열을 하나씩 확인하여 val과 비교한다.
    2-1. val이 아니면 새로운 위치에 값을 넣고 index를 증가시킨다.
    2-2. val이면 pass한다. 맨 뒤에 넣지 않아도 됨.

코드 작성

class Solution {
  public int removeElement(int[] nums, int val) {
    int newIndex = 0; // newIndex는 새롭게 배치될 위치

    for (int i = 0; i < nums.length; i++) {
        if (nums[i] != val) {
            // val이 아닌 원소를 배열 앞쪽으로 이동
            nums[newIndex] = nums[i]; 
            k++;
        }
        // val의 원소들이라면 pass 
    }

    return k;
  }
}

0개의 댓글

관련 채용 정보