私は同じ数字が好きではありません.
質問する
配列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以下の整数
コード#コード#
function solution(arr)
{
var answer = [];
let index = 0;
let prevNum;
while (arr[index] !== undefined) {
if (prevNum === arr[index]) {}
else
answer.push(arr[index]);
prevNum = arr[index];
index++;
}
return answer;
}
function solution(arr)
{
var answer = [arr[0]];
for (let i = 1; i < arr.length; i++)
if (arr[i] !== arr[i - 1])
answer.push(arr[i]);
return answer;
}
に答える
配列にプッシュする値が前に入力した値と同じである場合、インデックスはスキップされます.
他人を解く
function solution(arr)
{
return arr.filter((val,index) => val != arr[index+1]);
}
filter()
メソッドを使用してフィルタリングし、条件を満たす値を返します.filter() - MDN
出典:プログラマーコードテスト練習、https://programmers.co.kr/learn/challenges
Reference
この問題について(私は同じ数字が好きではありません.), 我々は、より多くの情報をここで見つけました https://velog.io/@idhyo0o/Algorithm-Problem-같은-숫자는-싫어テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol