[レベル1]2つ抽出して追加


質問する


問題の説明
整数配列番号.numbersから異なるインデックスの2つの数を抽出し、作成できるすべての数を昇順に配列に入れ、solution関数の戻りを完了してください.
せいげんじょうけん
  • numbersの長さは2または100より大きい.
  • numbersのすべての数字は0または100以下です.
    I/O例
  • numbersresult[2,1,3,4,1][2,3,4,5,6,7][5,0,2,7][2,5,7,9,12]

    問題を解く


    最初のインデックスを使用してnumber[0]からnumbers[最後の-1]に移動し、2番目のインデックスを最初のインデックス+1に設定してnumbers[最初のインデックス]の後の値を返します.このように,最初のインデックス値が大きくなっても,以前の値間の和が計算され,答え配列に入るため,他の組合せのみが計算される.
    加算された値を答え配列に挿入する過程で、配列に検索する数値インデックスがない場合は、-1を返す배열.indexOf(숫자)を使用して、重複しているかどうかを確認します.
    最後にsort関数を用いて昇順に並べ替える.

    解答コード(私の解答)

    function solution(numbers) {
        let answer = [];
        for(let i=0; i<numbers.length-1; i++){
            for(let j=i+1; j<numbers.length; j++){
                let sum = numbers[i] + numbers[j];
                if(answer.indexOf(sum)===-1){
                    answer.push(sum);
                }
            }
        }
        answer.sort((a,b)=>a-b);
        return answer;
    }