Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 오라클
- javascript
- 자바스크립트 jQuery
- 보안뉴스
- 자바스크립트 기본 문법
- 자바스크립트 객체
- python
- 자바스크립트 API
- php
- 보안뉴스 요약
- 랜섬웨어
- oracle db
- GIT
- 파이썬
- oracle
- ES6
- 자바스크립트 prototype
- 보안뉴스한줄요약
- 다크웹
- 깃허브
- 카카오프로젝트 100
- 자바스크립트
- 카카오프로젝트
- 보안뉴스요약
- 자바스크립트 element api
- 보안뉴스 한줄요약
- 카카오프로젝트100
- Oracle SQL
- 자바스크립트 node
- numpy
Archives
- Today
- Total
FU11M00N
[LeetCode] Remove Element - Javascript 본문
Remove Element
[Input 배열의 요소 제거]
제약 조건
0 <= nums.length <= 100
0 <= nums[i] <= 50
0 <= val <= 100
Example
ex1) Input: nums = [3,2,2,3], val = 3
Output: 2, nums = [2,2,_,_]
ex2) Input: nums = [0,1,2,2,3,0,4,2], val = 2
Output: 5, nums = [0,1,4,0,3,_,_,_]
문제 접근 방식
nums 배열의 인덱스 값 중, val을 통해 입력되는 값을 제거하면 되니
nums 배열을 순회하며 val의 값이 존재하면 해당 배열을 삭제하고
남은 배열의 길이를 return 하면 된다고 생각했다.
전체코드
/**
* @param {number[]} nums
* @param {number} val
* @return {number}
*/
var removeElement = function(nums, val) {
for(let i = 0; i < nums.length; i++){
if(nums[i] === val){
nums.splice(i,1);
i--;
}
}
return nums.length;
};
이전 문제(Merge Sorted Array)에 비해 쉽게 풀 수 있었고, 처음에 생각한 접근 방식으로 한 번에 solve를 할 수 있었다.
다른 solve 코드
function removeElement(nums, val) {
let count = 0;
for (let i = 0; i < nums.length; i++) {
if (nums[i] !== val) {
nums[count++] = nums[i];
}
}
return count;
}
위의 방법으로 splice를 사용 안 하고도 풀이가 가능하다.
count 변수를 생성해 nums 배열을 순회하며 val의 값과 일치하지 않는다면 해당 값을 넣어서 풀이가 가능하다.
'알고리즘' 카테고리의 다른 글
[LeetCode] Rotate Array - Javascript (0) | 2023.08.24 |
---|---|
[LeetCode] Majority Element - Javascript (0) | 2023.08.24 |
[LeetCode] Remove Duplicates from Sorted Array II - Javascript (0) | 2023.08.24 |
[LeetCode] Remove Duplicates from Sorted Array - Javascript (0) | 2023.08.23 |
[LeetCode] Merge Sorted Array - Javascript (0) | 2023.08.23 |
Comments