programmers
[Programmers Level 1 정렬] K번째 수 Javascript
냠냠맨
2022. 12. 11. 11:01
문제정보
원본 배열이 주어지고 2차원배열로 이루어진 commands도 주어지네요
i번째부터 j번째까지 자르고 정렬.. 엥..? 이거 완전 slice()하라는 소리 아니냐?
싶어서 slice()로 구현해봤습니다.
나의풀이
function solution(array, commands) {
let answer = []
commands.forEach(ele => {
let sorter = array.slice(ele[0]-1, ele[1]).sort((a,b) => a-b)[ele[2] -1];
answer.push(sorter)
})
return answer
}
forEach로 slice해주고 문제를 풀었습니다.
근데 인덱스는 0부터 세지만 문제는 1부터 숫자를 세서
각각 -1을 해줘야 답이 제대로 반환되네요
다른사람의 풀이
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];
});
}
그냥.. map으로 commands 배열을 바꿔주면 되네요 디용대용..
반응형