새소식

반응형
250x250
Leetcode

[리트코드] Inserting Items Into an Array - Duplicate Zeros

  • -
728x90
반응형

배열의 요소 중 0이 있으면 그 다음 인덱스에 해당하는 요소를 0으로 복제하고 인덱스 하나씩 뒤로 밀어줘야하는 문제


 

처음 문제를 본 후 든 생각은 '그냥 인덱스에 해당하는 요소가 0이면 한칸씩 미루고 0 하나 복제하면 되겠구나 ' 였다.

그래서 반복문을 사용해서 요소가 0일 때 하나씩 밀어주는 코드를 짰었는데 여기서 중요한 점은

뒤에서 부터 순차적으로 밀어야한다..(앞에서 부터 했다가 똑같은 숫자가 반복되는 경험을 함^^)

그것만 주의하면 어려운 건 없었다.

 

class Solution {
    public void duplicateZeros(int[] arr) {
        
        for(int i = 0; i < arr.length; i++) {
            if(arr[i] == 0 && i + 1 < arr.length) {
                for(int j = arr.length - 1; j > i + 1; j--) {
                    arr[j] = arr[j - 1];
                }
                arr[i + 1] = 0;
                i++;
            }
        }
    }
}
728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.