따봉도치야 고마워

[LeetCode] Arrays 101: Duplicate Zeros 본문

프로그래밍/알고리즘

[LeetCode] Arrays 101: Duplicate Zeros

따봉도치 2022. 4. 7. 17:58

문제

길이가 고정된 정수 배열이 주어졌을 때, 모든 0을 복제하고, 나머지 요소는 오른쪽으로 한 칸씩 이동하세요.

아무 값도 반환하지 말고, 입력받은 배열을 직접 수정하세요.

 

Given a fixed-length integer array arr, duplicate each occurrence of zero, shifting the remaining elements to the right.

Note that elements beyond the length of the original array are not written. Do the above modifications to the input array in place and do not return anything.

 

Example 1:

Input: arr = [1,0,2,3,0,4,5,0]
Output: [1,0,0,2,3,0,0,4]
Explanation: After calling your function, the input array is modified to: [1,0,0,2,3,0,0,4]

Example 2:

Input: arr = [1,2,3]
Output: [1,2,3]
Explanation: After calling your function, the input array is modified to: [1,2,3]

 

Constraints:

  • 1 <= arr.length <= 104
  • 0 <= arr[i] <= 9

Code

var duplicateZeros = function(arr) {
    const length = arr.length;
    const newArr = [];

    for (let i in arr) {
        newArr.push(arr[i]);
        if (arr[i] === 0) {
            newArr.push(0);
        }
    }
    
    for (let i = 0; i < length; i++) {
        arr[i] = newArr[i]
    }
};
Comments