[LeetCode] Duplicate Zeros

아르당·2026년 4월 1일

LeetCode

목록 보기
235/263
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

길이가 고정된 정수 배열 arr이 주어졌을 때, 0이 나타나는 모든 위치를 복제하고 나머지는 오른쪽으로 이동시켜라.

Example

#1
Input: arr = [1, 0, 2, 3, 0, 4, 5, 0]
Output: [1, 0, 0, 2, 3, 0, 0, 4]

#2
Input: arr = [1, 2, 3]
Output: [1, 2, 3]

Constraints

  • 1 <= arr.length <= 10^4
  • 0 <= arr[i] <= 9

Solved

class Solution {
    public void duplicateZeros(int[] arr) {
        int[] result = new int[arr.length];
        int idx = 0;

        for(int i = 0; i < arr.length && idx < arr.length; i++){
            if(arr[i] == 0){
                idx += 2;
            }else{
                result[idx] = arr[i];
                idx++;
            }
        }

        for(int i = 0; i < result.length; i++){
            arr[i] = result[i];
        }
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글