205日-プログラマー:私は同じ数字が好きではありません.
2354 ワード
https://programmers.co.kr/learn/courses/30/lessons/12906
問題の説明
配列arr.アレイarrの各要素は、0から9の数字で構成されています.この場合、アレイarrは連続して表示される数字を1つだけ保持し、すべて削除しようとします.ただし、削除後に残数を返す場合は、アレイarr内の要素の順序を維持する必要があります.たとえば、
arr=1,3,3,0,1]の場合、[1,3,0,1]が返される.
arr=[4,4,3]の場合は[4,3]を返します.
配列arrから連続して現れる数字を削除し、残りの数を返すsolution関数を完了してください.
せいげんじょうけん
アレイarrサイズ:1000000以下の自然数
アレイarr内の要素のサイズ:0以上、9以下の整数
I/O例
arr/answer
[1,1,3,3,0,1,1]/[1,3,0,1]
[4,4,4,3,3]/[4,3]
My Solution
左から1つずつ出していきます.
結果配列の最後の要素と比較して入れます.
問題の説明
配列arr.アレイarrの各要素は、0から9の数字で構成されています.この場合、アレイarrは連続して表示される数字を1つだけ保持し、すべて削除しようとします.ただし、削除後に残数を返す場合は、アレイarr内の要素の順序を維持する必要があります.たとえば、
arr=1,3,3,0,1]の場合、[1,3,0,1]が返される.
arr=[4,4,3]の場合は[4,3]を返します.
配列arrから連続して現れる数字を削除し、残りの数を返すsolution関数を完了してください.
せいげんじょうけん
アレイarrサイズ:1000000以下の自然数
アレイarr内の要素のサイズ:0以上、9以下の整数
I/O例
arr/answer
[1,1,3,3,0,1,1]/[1,3,0,1]
[4,4,4,3,3]/[4,3]
My Solution
from collections import deque
def solution(arr):
result = []
arr = deque(arr)
while arr:
x = arr.popleft()
if not result:
result.append(x)
continue
if result[-1] != x:
result.append(x)
return result
配列をDerkにすると左から1つずつ出していきます.
結果配列の最後の要素と比較して入れます.
Reference
この問題について(205日-プログラマー:私は同じ数字が好きではありません.), 我々は、より多くの情報をここで見つけました https://velog.io/@vivala0519/205일차-프로그래머스-같은-숫자는-싫어テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol