(コードカタ)-0は後ろに向いています.


質問する

주어진 숫자 배열에서, 0을 배열의 마지막쪽으로 이동시켜라. 원래 있던 숫자의 순서는 바꾸면 안된다.
새로운 배열을 생성해서는 안 된다.
Input: [0,1,0,3,12]
Output: [1,3,12,0,0]

最初の解

def move_zeroes(nums):
  zero_count = nums.count(0)
  
  while zero_count > 0:
    nums.append(0)
    nums.remove(0)
    zero_count -= 1

  return nums
count関数を使用してnumsリストのすべての0個の数を検索します.
見つかった0を全部後ろに移動するので、0の個数でwhileドアを返します.
append関数は、このパラメータをリストインデックスの最後に配置します.
remove関数は、重複パラメータがある場合に最初に見つかったパラメータを削除します.
そこで、まず0を一番後ろに置き、次に0を順番に外すと、該当する0の個数がリストの一番後ろに置かれ、真ん中に挟まれた0が取り除かれます.