[プログラマー/js]2つ引いてもう1つ追加
整数配列番号から2つの数値を抽出し、作成可能なすべての数値を昇順に配列に挿入して、返されるソルバを取得します.
array.indexOf(value)の使用
:値のインデックスがない場合は、-1を返します.つまり、値が配列内のXに存在します.
forドアを回して、対応する値が存在しない場合にのみ配列に入れます.値がすでに存在する場合、インデックスは存在するため、条件文を満たすことはできません.
配列は昇順で並べ替えられます.sort((a,b)=>a-b)コードの使用
:数値については、Unicodeとみなされるため、コールバック関数を使用する必要があります.
Setオブジェクトを使用してtemp配列をループし、一意の値のみを返し、返された配列を昇順に並べ替えて答えを返します. Setオブジェクトの挿入順に要素を循環する、データ型を問わず一意の値 を記憶する.の1つのセットのうちの1つの値は一意であり、重複値X が存在する.
重複する数値をクリアすることが重要です
1.if文による重複除外
function solution(numbers) {
let answer = [];
for(let i=0; i<numbers.length; i++) {
for(let j=i+1; j<numbers.length; j++) {
let num = numbers[i]+numbers[j];
if(answer.indexOf(num)===-1) answer.push(num);
}
}
return answer.sort((a,b)=> a-b);
}
let arr = [2,1,3,4,1];
console.log(solution(arr)); // [ 2, 3, 4, 5, 6, 7 ]
array.indexOf(value)の使用
:値のインデックスがない場合は、-1を返します.つまり、値が配列内のXに存在します.
forドアを回して、対応する値が存在しない場合にのみ配列に入れます.値がすでに存在する場合、インデックスは存在するため、条件文を満たすことはできません.
配列は昇順で並べ替えられます.sort((a,b)=>a-b)コードの使用
:数値については、Unicodeとみなされるため、コールバック関数を使用する必要があります.
2.Setオブジェクトによる重複除外
function solution(numbers) {
const temp = [];
for(let i=0; i<numbers.length; i++){
for(let j=i+1; j<numbers.length; j++){
temp.push(numbers[i]+numbers[j]);
}
}
const answer = [...new Set(temp)].sort((a,b) => a-b);
return answer;
}
let arr = [2,1,3,4,1];
console.log(solution(arr)); // [ 2, 3, 4, 5, 6, 7 ]
const set1 = new Set([1,2,3,3,2,1,2,2])
console.log(set1); // Set(3) {1, 2, 3}
Reference
この問題について([プログラマー/js]2つ引いてもう1つ追加), 我々は、より多くの情報をここで見つけました https://velog.io/@sjkim_jinnyk/프로그래머스-js-두-개-뽑아서-더하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol