CodeKata_day4

Daehwi Kim·2020년 6월 28일
0

문제

주어진 숫자 배열에서, 0을 배열의 마지막쪽으로 이동시켜주세요.
원래 있던 숫자의 순서는 바꾸지 말아주세요.

새로운 배열을 생성해서는 안 됩니다.

Input: [0,1,0,3,12]
Output: [1,3,12,0,0]

나의 코드

def moveZeroes(nums):
  
  for i in nums:
    if i == 0:
      nums.remove(0)
      nums.append(0)
  return nums
  
  ([0,0,2,0,3])
  ([0, 2, 0, 3, 0])

for문을 돌리면서 0이 있으면 제거하고 0을 append함으로써 문제를 해결했다.


모범 답안

def moveZeroes(nums):
  last0 = 0
  
  for i in range(0, len(nums)):
    if nums[i] != 0:
      nums[i], nums[last0] = nums[last0], nums[i]
      last0 += 1
      
  return nums
profile
게으른 개발자

0개의 댓글