[プログラマー]K番目の数字(JavaScript)
10071 ワード
🤷問題の説明
配列のi番からj番までを切り取って並べ替えると、k番目の数字を求めようとします.
例えばarrayが[1,5,2,6,3,7,4],i=2,j=5,k=3の場合
せいげんじょうけん
🙄 私の答え
くどくど言う.へへへ...どうしても基礎知識をクリアしました!
function solution(array, commands) {
var answer = [];
for (let i = 0; i<commands.length; i++){
let startnum = commands[i][0]-1;
let finishnum = commands[i][1];
let collectnum = commands[i][2] -1;
let currarray = [];
if (startnum !== finishnum){
currarray = array.slice(startnum, finishnum);
currarray.sort((a,b)=>a-b);
} else if (startnum === finishnum) {
currarray.push(array[startnum]);
} answer.push(currarray[collectnum]);
}
return answer;
}
😮 他人を解く
const[sPosition,ePosition,position]=コマンドは印象的なコメントです
function solution(array, commands) {
return commands.map(command => {
const [sPosition, ePosition, position] = command
const newArray = array
.filter((value, fIndex) => fIndex >= sPosition - 1 && fIndex <= ePosition - 1)
.sort((a,b) => a - b)
return newArray[position - 1]
})
}
mapの使い方
function solution(array, commands) {
var answer = [];
answer = commands.map(a=>{
return array.slice(a[0]-1,a[1]).sort((b,c)=>b-c)[a[2]-1];
})
return answer;
}
🤔 に感銘を与える
Reference
この問題について([プログラマー]K番目の数字(JavaScript)), 我々は、より多くの情報をここで見つけました https://velog.io/@j20park/프로그래머스-K번째수-JavaScriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol