私は同じ数字が好きではありません(Programmers 12906)


🧑‍💻 質問する


配列arr.アレイarrの各要素は、0から9の数字で構成されています.この場合、アレイarrは連続して表示される数字を1つだけ保持し、すべて削除しようとします.ただし、削除後に残数を返す場合は、アレイarr内の要素の順序を維持する必要があります.たとえば、
  • arr=[1,1,3,0,1]は[1,3,0,1]を返します.
  • arr=[4,4,4,3]は[4,3]を返します.
  • アレイarrに連続して現れる数字を削除し、残りの数を返す解関数を完了してください.

  • 🧑‍💻 解決策

  • は、最初に入力されたリストと同じリストを作成し、削除しようとする.
  • removeを使用すると効率が低下すると思います.
  • 🧑‍💻 コード#コード#

    def solution(arr):
        new_arr = []
        for i in range(len(arr)) :
            if i == 0 :
                new_arr.append(arr[i])
            elif arr[i] != arr[i - 1] :
                new_arr.append(arr[i])
        return new_arr

    🧑‍💻 総評

  • Pythonの効率的な使用は私にとって最も必要です.
  • アルゴリズム開始2日目(2021.04.27)
  • はまだ長い道のりがあります.
  • は、簡単で効率的な方法を絶えず探求しなければならない.(経験で考えるか…)