私は同じ数字が好きではありません.
5192 ワード
🤔 質問する
プログラマー-私は同じ数字が好きではありません。
配列arr.アレイarrの各要素は、0から9の数字で構成されています.この場合、アレイarrは連続して表示される数字を1つだけ保持し、すべて削除しようとします.ただし、削除後に残数を返す場合は、アレイarr内の要素の順序を維持する必要があります.たとえば、
arr = [1, 1, 3, 3, 0, 1, 1]
であれば、[1, 3, 0, 1]
に戻ります.arr = [4, 4, 4, 3, 3]
であれば、[4, 3]
に戻ります.配列arrから連続して現れる数字を削除し、残りの数を返すsolution関数を完了してください.
¥2,000円制限
💡 に近づく
arr
に配列されたインデックスi
、i + 1
を簡単に比較する必要がある.🧑🏻💻 コード#コード#
solution 1
のfor문
をsolution 2
からfilter()
の方法に変更した.配列高次関数map()
、filter()
等は新たな配列を返すので、const answer = [];
のプロセスを省略することができる.// solution 1
function solution(arr) {
const len = arr.length;
const answer = [];
for (let i = 0; i < len; i++) {
arr[i] !== arr[i + 1] && answer.push(arr[i]);
}
return answer;
}
// solution 2
function solution(arr) {
const answer = arr.filter((v, i, array) => v !== array[i + 1]);
return answer;
}
solution([1, 1, 3, 3, 0, 1, 1]); // [1,3,0,1]
📝 リファレンス
MDN - Array.prototype.map()
MDN - Array.prototype.filter()
Reference
この問題について(私は同じ数字が好きではありません.), 我々は、より多くの情報をここで見つけました https://velog.io/@keemtj/프로그래머스-같은-숫자는-싫어テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol