Back to all posts
K번째수
Written by ppotatoG & Posted on November 21st, 2021
제출한 답
commands
로 돌며 c[i][0] - 1, c[i][1]
만큼 slice로 잘라준 후
sort로 정렬 후 k번째 수를 answer
에 담아주기
function solution(a, c) {let answer = []for(let i = 0; i < c.length; i++){let b = a.slice(c[i][0] - 1, c[i][1]).sort(function(a, b){if(a > b) return 1else if(a === b) return 0else return -1})answer.push(b[c[i][2] - 1])}return answer}
두번째
위 내용을 한줄로, sort를 한줄로 사용했다
function solution(a, c){let answer = [];for(let n = 0; n < c.length; n++){answer.push(a.slice(c[n][0] - 1, c[n][1]).sort((a, b) => a - b)[c[n][2] -1])}return answer;}
최근 보충한 답
보충보다는.. map으로 풀 수 있는지 보려 했는데,
효율성은 이것보다 두번째가 훨씬 좋다
function solution(array, c) {return [...c].map((val, idx) => {let num = array.slice(c[idx][0] - 1, c[idx][1]).sort((a, b) => a - b);return num[c[idx][2] - 1];})}