문제정보
원본 배열이 주어지고 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 배열을 바꿔주면 되네요 디용대용..
반응형
'programmers' 카테고리의 다른 글
[Programmers Level 2 스택] 올바른 괄호 Javascript (0) | 2022.12.12 |
---|---|
[Programmers Level 1 해시] 완주하지 못한 선수 Javascript (0) | 2022.12.12 |
[Programmers Level 0] 로그인성공? Javascript (0) | 2022.12.10 |
[Programmers Level 1] 모의고사 Javascript (0) | 2022.12.09 |
[Programmers Level 1] 로또의 최고 순위와 최저 순위 Javascript (0) | 2022.12.09 |