알고리즘

[LeetCode] 283 Move Zeroes JavaScript

sandwe 2022. 7. 11. 17:57

문제 링크

 

Move Zeroes - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

문제 유형

배열 (Array)

 

문제 풀이

이 문제는 0을 옮긴다고 생각하기 보다 0이 아닌 숫자를 옮기는 방식으로 접근하면 된다.

배열을 순회하면서 현재 요소가 0이 아닌 숫자이면 idx 인덱스의 0과 스왑하고 idx를 한칸 옮긴다.

 

코드

var moveZeroes = function(nums) {
    let idx = 0; // 요소의 값이 0인 인덱스를 저장한다.
    for (let i = 0; i < nums.length; i++) {
        let temp = 0;
        if (nums[i] !== 0) { // 0이 아닌 숫자이면 idx 위치의 0과 스왑한다.
            temp = nums[i];
            nums[i] = 0;
            nums[idx] = temp;
            idx++;
        }
    }
};

 

참고

https://www.youtube.com/watch?v=9_PnAyVVl8M