[プログラマー/javascript]14ディジタル配列
876 ワード
問題の説明
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][3,2,6]10[-1]
I/O例説明
I/O例#1
arrの5つの要素のうち5つは5と10です.したがって、[5,10]を返します.
I/O例#2
arrのすべての要素は1で区切られています.元素を昇順に並べて[1,2,3,36]を返します.
I/O例#3
3、2、6は10に分けられない.[1]を返します.分離された要素がないためです.
に答える
配列を因子で割った場合、値が0の場合は除数になります.
最後に昇順処理を行うだけで比較的簡単に解決できる.
arrayの各要素で、昇順で配列された配列の係数で区切られた値を返す関数を作成します.
要素が除数で区切られていない場合は、配列に-1を入れて返します.
せいげんじょうけん
arrdivisorreturn[5,9,7,10]5[5,10][2,36,1,3]1[1,2,3,36][3,2,6]10[-1]
I/O例説明
I/O例#1
arrの5つの要素のうち5つは5と10です.したがって、[5,10]を返します.
I/O例#2
arrのすべての要素は1で区切られています.元素を昇順に並べて[1,2,3,36]を返します.
I/O例#3
3、2、6は10に分けられない.[1]を返します.分離された要素がないためです.
に答える
function solution(arr, divisor) {
var answer = [];
for(i=0; i<arr.length; i++) {
if(arr[i] % divisor == 0) {
answer.push(arr[i]);
}
}
if(answer.length == 0) {
answer.push(-1);
}
answer.sort((a,b) => a - b);
return answer;
}
解説配列を因子で割った場合、値が0の場合は除数になります.
最後に昇順処理を行うだけで比較的簡単に解決できる.
Reference
この問題について([プログラマー/javascript]14ディジタル配列), 我々は、より多くの情報をここで見つけました https://velog.io/@ki5970/프로그래머스javascript-14.-나누어-떨어지는-숫자-배열テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol