반응형
문제
풀이
우선 i번째 숫자부터 j번째 숫자까지 자르고 정렬 => slice, sort로 해결
commands가 2차원 배열이니까
이중 반복문 쓰면 될 듯.. ?
// 이중반복문으로 요소 하나하나 뽑기!
let commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]
for(let i=0; i<commands.length; i++) {
for(let j=0; j<commands.length; j++) {
console.log(commands[i][j]);
}
}
응 이중 반복문 아니야 필요 없어
왜냐하면 commands의 원소의 길이가 3으로 고정이기 때문에
[i][0], [i][1], [i][2]로 뽑아 올 수 있기 때문이지
function solution(array, commands) {
var answer = [];
for(var i=0; i<commands.length; i++)
answer.push(array.slice(commands[i][0]-1,commands[i][1]).sort((a,b) => a-b)[commands[i][2]-1]);
return answer;
}
앞에서 말한 것처럼 slice로 i, j 번째 까지 자르고
sort로 정렬한 후
인덱스 값으로 값 받아오고
push로 배열 만들기!
다른 사람 풀이
map을 써서 commands 배열을 각 변수에 담아버렸다
그 후 filter로 원하는 값만 새로운 배열에 담아서 정렬..
오.. 이것도 좋다ㅏㅏㅏㅏ
반응형
'Dev > Algorithm' 카테고리의 다른 글
알고리즘 문제 | 프로그래머스 | JS - 두 개 뽑아서 더하기 (0) | 2021.06.23 |
---|---|
알고리즘 문제 | 프로그래머스 - 크레인 인형뽑기 게임 (0) | 2021.01.25 |
알고리즘 문제 | 프로그래머스 - 2016년 (0) | 2021.01.20 |
알고리즘 문제 | 프로그래머스 - 3진법 뒤집기 (0) | 2021.01.20 |
알고리즘 문제 | 프로그래머스 - 같은 숫자는 싫어 (0) | 2021.01.19 |