반응형
문제
문제 설명
배열에서 0인 값을 오른쪽으로 이동시키는 문제
반복문을 뒤에서부터 돌아 0인 숫자는 splice
하면서 push
했다.
여기서 주의할 점은 반복문을 뒤에서 돌았다는 것이다.
반복문을 앞에서 돌면서 splice를 쓰게 되면 0이 연속해서 나온다면 0이 다 이동되지 않는 문제가 있다.
그래서 splice를 중복된 배열에서 사용할 때는 역순 반복을 해야 한다.
성공 코드
const moveZeroes = (nums) => {
for (let i = nums.length - 1; i >= 0; i--) {
if (nums[i] === 0) {
nums.push(nums.splice(i, 1))
}
};
return nums;
};
반응형