https://programmers.co.kr/learn/courses/30/lessons/42748
나의 코드
function solution(array, commands) {
let classify
let box = []
for(i=0; i < commands.length; i++){
let start = commands[i][0]
let end = commands[i][1]
let choice = commands[i][2]
classify = array.slice(start - 1,end ).sort((a,b) => a-b)
box.push(classify[choice-1])
}
return box;
}
처음에 그냥 sort() 만 해줬는데 오류가 났다.
알고 보니 정렬이 문제였다.
그래서 오름차순으로 하기위해 sort((a,b) => a - b) 로 바꾸었다
여기서 조금 더 이쁘게 할려면 구조분해할당을 쓰면된다.
function solution(array, commands) {
let classify
let box = []
for(i=0; i < commands.length; i++){
let [start, end, choice] = commands[i]
classify = array.slice(start - 1,end ).sort((a,b) => a-b)
box.push(classify[choice-1])
}
return box;
}
다른 사람 풀이 보고 응용
const solution = (array, commands) => commands.map(
([start, end, choice]) => array.slice(start - 1, end).sort((a,b) => a-b)[choice-1])
map으로 할 수도 있다.
그리고 map할때 바로 디스트럭처링을 하면 훨씬 가독성이 좋아진다.
'알고리즘 > 프로그래머스 - JS' 카테고리의 다른 글
[프로그래머스-JS] level.1 실패율 (0) | 2022.07.14 |
---|---|
[프로그래머스-JS] level.1 폰켓몬 (0) | 2022.07.04 |
[프로그래머스-JS] level.1 완주하지 못한 선수 (0) | 2022.06.28 |
[프로그래머스-JS] level.1 소수 만들기 <소수> (0) | 2022.06.28 |
[프로그래머스-JS] level.1 내적 (0) | 2022.06.27 |