😎풀이

  1. arr 순회
    1-1. 0이 아니라면 패스
  2. 요소의 끝부터 순회하며 요소들을 우측으로 한 칸만큼 shift
  3. 배열의 길이를 초과하지 않는다면 현재 요소의 다음 요소를 0으로 설정
function duplicateZeros(arr: number[]): void {
    const n = arr.length
    for(let i = 0; i < n; i++) {
        if(arr[i]) continue
        for(let j = n - 1; j > i; j--) {
            arr[j] = arr[j - 1]
        }
        if(i !== n - 1) arr[i + 1] = 0
        i++
    }
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글