[プログラマ]「数値配列を区切る」問題のJavaScriptアルゴリズム


[プログラマ]「数値配列を区切る」問題のJavaScriptアルゴリズム


https://programmers.co.kr/learn/courses/30/lessons/12910

Q.別々の数字案


arrayの各要素で、昇順で配列された配列の係数で区切られた値を返す関数を作成します.
要素が除数で区切られていない場合は、配列に-1を入れて返します.

せいげんじょうけん

  • arrは自然数を含む配列である.
  • 整数i,jについて、i≠jの場合、arr[i]≠arr[j]である.
  • 除数は自然数です.
  • arrayは、長さが1より大きい配列である.
  • I/O例


    arrdivisorreturn[5, 9, 7, 10]5[5, 10][2, 36, 1, 3]1[1, 2, 3, 36]

    I/O例説明


    I/O例#1
    arrの5つの要素のうち5つは5と10です.したがって、[5,10]を返します.
    I/O例#2
    arrのすべての要素は1で区切られています.元素を昇順に並べて[1,2,3,36]を返します.
  • コード
  • function solution(arr, divisor) {
        var newArr = arr.filter((a)=> a%divisor===0)
        if(newArr.length===0) newArr.push(-1);
        return newArr.sort((a,b)=> a-b);
    }