[JavaScript]K個
13051 ワード
すべての問題を表示
https://programmers.co.kr/learn/courses/30/lessons/42748?language=javascript
私の答え
https://programmers.co.kr/learn/courses/30/lessons/42748?language=javascript
私の答え function solution(array, commands) {
var answer = [];
let arr = [];
let command = [];
for (const arrItem of array) {
arr.push(arrItem);
};
for (const commandItem of commands) {
command.push(commandItem);
};
for(let i = 0; i < command.length; i++) {
let commandI = command[i][0];
let commandJ = command[i][1];
let commandk = command[i][2];
let arrCut = (arr.slice(commandI - 1, commandJ)).sort((a, b) => a - b);
answer.push(arrCut[commandk - 1]);
}
return answer;
}
シール
最初の試みはテストケース2に合格しなかった.
sort()については,辞書式ソート(ex.[1,3,10,2]=>[1,10,2,3])が行われ,この部分が問題となっている.
昇順ソートに変更した後、すべてのテストケースに合格しました.
解決方法-昇順降順でソート
const numbers = [15, 52, 23, 11, 9];
// 오름차순 정렬, 원본 배열 수정
numbers.sort((a, b) => a - b); console.log(numbers); // [9, 11, 15, 23, 52]
// 내림차순 정렬, 원본 배열이 다시 수정
numbers.sort((a, b) => b - a); console.log(numbers); // [52, 23, 15, 11, 9]
// 출처: https://hohoya33.tistory.com/139 [개발 메모장]
他人の解釈を分析する
1番
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]
})
}
// 출처: https://programmers.co.kr/learn/courses/30/lessons/42748/solution_groups?language=javascript&type=all
2番
function solution(array, commands) {
return commands.map(v => {
return array.slice(v[0] - 1, v[1]).sort((a, b) => a - b).slice(v[2] - 1, v[2])[0];
});
}
// 출처: https://programmers.co.kr/learn/courses/30/lessons/42748/solution_groups?language=javascript&type=all
Reference
この問題について([JavaScript]K個), 我々は、より多くの情報をここで見つけました
https://velog.io/@minbok/JavaScript-K번째-수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function solution(array, commands) {
var answer = [];
let arr = [];
let command = [];
for (const arrItem of array) {
arr.push(arrItem);
};
for (const commandItem of commands) {
command.push(commandItem);
};
for(let i = 0; i < command.length; i++) {
let commandI = command[i][0];
let commandJ = command[i][1];
let commandk = command[i][2];
let arrCut = (arr.slice(commandI - 1, commandJ)).sort((a, b) => a - b);
answer.push(arrCut[commandk - 1]);
}
return answer;
}
const numbers = [15, 52, 23, 11, 9];
// 오름차순 정렬, 원본 배열 수정
numbers.sort((a, b) => a - b); console.log(numbers); // [9, 11, 15, 23, 52]
// 내림차순 정렬, 원본 배열이 다시 수정
numbers.sort((a, b) => b - a); console.log(numbers); // [52, 23, 15, 11, 9]
// 출처: https://hohoya33.tistory.com/139 [개발 메모장]
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]
})
}
// 출처: https://programmers.co.kr/learn/courses/30/lessons/42748/solution_groups?language=javascript&type=all
function solution(array, commands) {
return commands.map(v => {
return array.slice(v[0] - 1, v[1]).sort((a, b) => a - b).slice(v[2] - 1, v[2])[0];
});
}
// 출처: https://programmers.co.kr/learn/courses/30/lessons/42748/solution_groups?language=javascript&type=all
Reference
この問題について([JavaScript]K個), 我々は、より多くの情報をここで見つけました https://velog.io/@minbok/JavaScript-K번째-수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol