[leetCode] 283. Move Zeroes

GY·2021년 11월 6일
0

알고리즘 문제 풀이

목록 보기
54/92
post-thumbnail

🎆 Description

Given an integer array nums, move all 0's to the end of it 
while maintaining the relative order of the non-zero elements.

Note that you must do this in-place without making a copy of the array.

Example 1:

Input: nums = [0,1,0,3,12]
Output: [1,3,12,0,0]
Example 2:

Input: nums = [0]
Output: [0]

🎇 Solution

const moveZeroes = function(nums) {
    let x = 0;
    for(i = 0; i< nums.length; i++) {
       if (nums[x] === 0 && nums[i] !==0) {
           nums[x] = nums[i]
           nums[i] = 0
           x++;
       } else if (nums[x] !== 0){
           x++;
       }
   }
    return nums;
};

🎉 result

Runtime

100 ms, faster than 75.40% of JavaScript online submissions for Move Zeroes.

Memory Usage

43.8 MB, less than 22.11% of JavaScript online submissions for Move Zeroes.


leetCode discuss - 풀이와 설명 업로드
직관적으로 이해할 수 있는 JS 풀이가 없는 것 같아서, 그리고 개발자를 꿈꾸는 코린이로서...! 뭔가 오픈소스에 함께 기여하는 그런 태도를 가지고 싶으니까...! Discuss에 설명과 함께 풀이를 올려두었다.
이 문제를 처음 푸는데 Day 3. two pointers에 참여하는 만큼 꼭 two pointers로 풀어 이 방식을 익히고 싶고..JS풀이는 잘 모르겠는 또다른 코린이가 있다며너 조금이나마 도움이 됐으면 좋겠다!

profile
Why?에서 시작해 How를 찾는 과정을 좋아합니다. 그 고민과 성장의 과정을 꾸준히 기록하고자 합니다.

0개의 댓글