Problem :

https://leetcode.com/problems/move-zeroes/description/


My Solution :

class Solution:
def moveZeroes(self, nums):
"""
:type nums: List[int]
:rtype: void Do not return anything, modify nums in-place instead.
"""
count = 0
for i in range(len(nums)):
if nums[i] == 0:
count += 1
elif count > 0:
nums[i], nums[i-count] = nums[i-count], nums[i]


Comment :

0이 아닌 값을 만나면 0과 swap하는 전략인데, swap할 0의 index는 0이 아닌 값의 index에서 0의 갯수만큼을 뺀 index가 된다.