문제링크 - 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을 제외하여 배열을 재배치 하는 것.
문제 해결
문제 해결 로직
- int array nums와 int val을 입력받는다.
- 배열을 하나씩 확인하여 val과 비교한다.
2-1. val이 아니면 새로운 위치에 값을 넣고 index를 증가시킨다.
2-2. val이면 pass한다. 맨 뒤에 넣지 않아도 됨.
코드 작성
class Solution {
public int removeElement(int[] nums, int val) {
int newIndex = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != val) {
nums[newIndex] = nums[i];
k++;
}
}
return k;
}
}