Dev/Algorithm
알고리즘 문제 | 프로그래머스 - K번째 수
kihyeoksong
2021. 1. 21. 11:18
반응형
문제
풀이
우선 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로 원하는 값만 새로운 배열에 담아서 정렬..
오.. 이것도 좋다ㅏㅏㅏㅏ
반응형