同じ数字が気に入らない(連続する数字を削除)


比較的連続した文字列や数字の問題をするたびに、混同して整理のために文章を書きます.
function solution(arr)
{   
    let i = 0
    const answer = []
    while(true){
        //i가 마지막 인덱스까지 왔을 때 종료
        if(i==arr.length-1){
            answer.push(arr[i])
            break
        }
        if(arr[i]===arr[i+1]){
            i += 1

        }else{
            answer.push(arr[i])
            i+=1
            
        }
    }
    return answer
}
アルゴリズムの説明
これは徹底的に探求しなければならない問題だ.

  • iを1つずつ増やし、arr[i]とarr[i+1]と比較します.

  • 同じ場合はiのみ増加し、異なる場合はarr[i]値を新しい配列にプッシュし、iを増加します.
    (連続して繰り返される値を1つ残すだけなので、同じ値は
    をクリックして次の比較に移動し、別の値に遭遇した場合-同じ値がなくなった場合-重複値を答えにプッシュします)

  • i値が最後のインデックスの場合、最後の値を追加して終了します.
  • 別の解釈
    return arr.filter((v,i)=>v!==arr[i+1])

  • 上の方法と同じ原理です.

  • iが最後のインデックスである場合、arr[i+1]は常にtrueを返します.これは見つかりません.
  • 問題を解き、コードを書く方法を決定します.