アルゴリズム-2012/04/07
3930 ワード
問題の説明
配列の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関数を作成します.
せいげんじょうけん
arrayの長さは1または100以下です.
arrayの各要素は1または100未満です.
コマンドの長さは1または50を超えません.
コマンドの各要素の長さは3です.
I/O例
array commands return
[1, 5, 2, 6, 3, 7, 4][2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]
に答える
function solution(array, commands) {
//commands가 이중 배열임
let answer = [];
commands.forEach(el=>{
let start = el[0]-1;
let end = el[1]-1;
let pick = el[2]-1;
let slicedArr = array.slice(start,end+1).sort((a, b) => a - b);
answer.push(slicedArr[pick]);
})
return answer;
}
簡単な問題だ中間のsortメソッドがunitcodeに基づいてソートされていることを知らないと、ちょっと迷うかもしれません.
リファレンス
Reference
この問題について(アルゴリズム-2012/04/07), 我々は、より多くの情報をここで見つけました https://velog.io/@cloudlee711/알고리즘-20210407テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol