[プログラマー]1:K級(2日目)
問題の説明
配列のi番からj番までを切り取って並べ替えると、k番目の数字を求めようとします.
例えばarrayが[1,5,2,6,3,7,4],i=2,j=5,k=3の場合
arrayの2番目から5番目の場合は[5,2,6,3].
1の配列を並べ替えると[2,3,5,6].
2からの配列の3番目の数字は5です.
配列配列、[i、j、k]を要素とする2次元配列コマンドをパラメータとして与える場合は、commandsのすべての要素に前述の演算を適用した結果を配列に戻してsolution関数を作成します.
せいげんじょうけん
問題を解く
function solution(array, commands) {
var answer = [];
answer = commands.map((command) => {
return array.slice(command[0] - 1, command[1]).sort((a, b) => a - b)[command[2] - 1];
});
return answer;
}
2つ目のテストケースで失敗してきましたが、なぜsortが問題なのかと思います.sortを使用してcompareFunctionを省略すると、配列内の要素は文字列とみなされ、Unicode値の順に並べ替えられます.
Reference
この問題について([プログラマー]1:K級(2日目)), 我々は、より多くの情報をここで見つけました https://velog.io/@kimjh96/프로그래머스-Level-1-K번째-수-2일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol