[CodeKata]2つ抽出して追加
8663 ワード
リンク
リファレンス
私の答え
function solution(numbers) {
var answer = [];
for (let i = 0; i < numbers.length; i++) {
for (let j = 0; j < numbers.length; j++) {
if (i !== j) {
answer.push(numbers[i] + numbers[j]);
}
}
}
// result 변수에 filter 메서드를 사용해서 answer 배열의 item의 index와 index가 같은 값만 출력한 새로운 배열을 만듦.
const result = answer.filter((item, index, self) => {
return self.indexOf(item) === index;
});
// result 오름차순으로 정렬
result.sort((a, b) => a - b);
return result;
}
answer
配列の重複値を除去する方法を考慮すると、filter
メソッドを使用して重複値のない配列を作成できます.より良いソリューション
function solution(numbers) {
var answer = [];
// 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열로 만들면
for (let i = 0; i < numbers.length; i++) {
for (let j = 0; j < numbers.length; j++) {
if (i !== j) {
answer.push(numbers[i] + numbers[j]);
}
}
}
// Set을 사용해서 유일한 value만 저장한다.
const result = [...new Set(answer)];
// result 오름차순으로 정렬
result.sort((a, b) => a - b);
return result;
}
より良い方法は、Set
Set
を使用してオブジェクトであり、元の値とオブジェクト参照は、資料タイプにかかわらず一意の値を格納することができます.Spread Operator
とSet
を使用すると、私の解答よりもテスト例でより速く合格することがわかります.Reference
この問題について([CodeKata]2つ抽出して追加), 我々は、より多くの情報をここで見つけました https://velog.io/@realryankim/CodeKata-두-개-뽑아서-더하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol