위코드 코드카타를 정리한 내용입니다.
주어진 숫자 배열에서, 0을 배열의 마지막쪽으로 이동합니다. 원래 있던 숫자의 순서는 유지합니다.
// input
[0,1,0,3,12]
// output
[1,3,12,0,0]
기존 배열을 포인문으로 순회하면서 0의 갯수를 카운트하고, 0이 아닌 값들은 새로운 배열에 담아줍니다. 그리고 카운트한 0의 갯수만큼 새로운 배열의 뒤에 0을 추가합니다. (push 메서드 사용)
const moveZeroes = nums => {
let zeroNum = 0; // 0 숫자 카운트 하기
let newNums = []; // 새로운 빈배열 생성
for (let i in nums) {
if (0 === nums[i]) { // 0이 나오면
zeroNum += 1; // 숫자 카운트하고
} else {
newNums.push(nums[i]) // 0이 아닌 값을 새로운 배열에 넣는다.
}
}
for (let i = 0; i < zeroNum; i++) { // 카운트한 0의 갯수만큼
newNums.push(0); // 새로운 배열 뒤에 0 추가
}
return newNums;
}