Miyeon

#53 Move Zeroes

2021-10-30Algorithm

๐Ÿ”ฅ Search Insert Position ๐Ÿ”ฅ

Example 1:

Input: nums = [0, 1, 0, 3, 12];
Output: [1, 3, 12, 0, 0];

Example 2:

Input: nums = [0];
Output: [0];

์ ‘๊ทผ๋ฐฉ๋ฒ•

  • ์š”์†Œ์˜ ๊ฐ’์ด 0์ธ์ง€ ํ™•์ธ
  • 0์ธ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์˜ ๋์— 0 ์ถ”๊ฐ€ํ•˜๊ณ  ํ•ด๋‹น ์š”์†Œ ์‚ญ์ œ

์ฝ”๋“œ

var moveZeroes = function(nums) {
  for (let i = nums.length - 1; i >= 0; i--) {
    if (nums[i] === 0) {
      nums.push(0);
      nums.splice(i, 1);
    }
  }

  return nums;
};

WILT : What I Learned Today ๐Ÿค”

  • ๋‚ด๊ฐ€ ์ฒ˜์Œ ์‹œ๋„ํ–ˆ๋˜ ๋ฐฉ๋ฒ•์€ ๊ฐ’์ด 0์ธ ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๊ทธ๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜๋‹ˆ ์š”์†Œ ์ˆœ์„œ๊ฐ€ ๋ณ€๊ฒฝ๋ผ ์ธ๋ฑ์Šค์˜ ์˜๋ฏธ๊ฐ€ ์—†์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๊ทธ๋•Œ ๊ธฐ์กด ๋ฐ˜๋ณต๋ฌธ์„ ์ˆ˜์ •ํ•ด์„œ ๋ฐฐ์—ด์˜ ๊ธธ์—์—์„œ ๋ถ€ํ„ฐ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆด ์ƒ๊ฐ์„ ๋ชปํ•˜๊ณ  ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ๋‹ค. ์ž˜ ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋‚˜๋‹ˆ ๊ทธ ๋ถ€๋ถ„์ด ์•„์‰ฝ๋‹ค. ์กฐ๊ธˆ ๋” ํ˜„์žฌ ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋”๋ผ๋ฉด ํ›จ์”ฌ ๋นจ๋ฆฌ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.
  • ์šฐ์„  ์ž‘๋™ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๊ธฐ -> ๋ฆฌํŒฉํ† ๋ง์„ ํ†ตํ•ด ๋” ์ข‹์€ ์ฝ”๋“œ๋กœ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ. ๊ทธ๋Ÿฌ๋ฉด์„œ ๋ฐฐ์šฐ๋Š” ๊ฒƒ๋“ค์ด ์ƒ๊ธธ ๊ฒƒ์ด๋‹ค!

์ฐธ๊ณ 

283. Move Zeroes