https://programmers.co.kr/learn/courses/30/lessons/42748
function solution(array, commands) {
const arr = commands.map((el) => {
// const start = el[0]
// const end = el[1]
// const position = el[2]
const [start, end, position] = el
//문자열이 아니므로 sort 정렬순서 지정
const result = array.slice(start-1,end).sort((a,b)=> a-b)[position-1]
return result
})
return arr
}
- 처음에 start, end, position을 각각 인덱싱해서 뽑았는데 [ start, end, position ] = el 이라는 편한 방법을 알게되었다.
- 처음에 sort() 에 조건 안줬더니 default 가 문자열 정렬 기준이라 error 떠서 숫자 정렬 기준 추가해줬음.
Array.sort( (a,b) => return ) : array를 돌면서 2개의 value를 비교해서 순서 정렬(a:앞, b:뒤)
- return 값 < 0 : a,b 순서로 정렬
- return 값 > 0 : b,a 순서로 정렬
- return 값 = 0 : 원래 순서로 정렬
- 조건이 없을 경우 문자열 / 유니코드 기준으로 정렬
반응형
'알고리즘 > javascript' 카테고리의 다른 글
[프로그래머스] 코딩테스트연습 > 로또의 최고 순위와 최저 순위 (0) | 2021.09.29 |
---|---|
[프로그래머스] 코딩테스트연습 > 완전탐색 > 모의고사 (0) | 2021.09.27 |
[프로그래머스] 코딩테스트연습 > 스택/큐 > 기능개발 (0) | 2021.09.25 |
[프로그래머스] 코딩테스트연습 > 해시 > 위장 (0) | 2021.09.25 |
[프로그래머스] 코딩테스트연습 > 해시 > 완주하지 못한 선수 (0) | 2021.09.24 |