[ 2024.07.25 ] TIL

yy·2024년 7월 25일

개발일지

목록 보기
91/122

1. 특이한 정렬 programmers

문제를 풀 때 차이에 대해서 정렬을 하면 되겠다 라는 생각을 했었다. 근데 자꾸 아래와 같은 코드로 접근하려고 보니 잘 안됐다. 그래서 결국 찾아보게 되었다.

numlist.sort((Math.abs(numlist[i]-n), Math.abs(numlist[i-1]-n)), Math.abs(numlist[i]-n) - Math.abs(numlist[i-1]-n))

아래와 같은 코드를 발견함. 나는 왜 sort 안에 있는 저 a, b가 배열 안의 요소라고 생각을 못했을까? 그냥 오름차, 내림차 정렬을 표현해주는 요소라고만 생각했다. 당연히 요소끼리 비교해서 정렬을 해주는것이었는데말이다. 얼탱무.

function solution(numlist, n) {
  return numlist.sort((a, b) => Math.abs(a - n) - Math.abs(b - n) || b - a);
}
profile
시간이 걸릴 뿐 내가 못할 건 없다.

0개의 댓글