관리 메뉴

Jerry

[#90][프로그래머스][입문] 특이한 정렬 본문

Problem Solving/Algorithm 문제 풀기

[#90][프로그래머스][입문] 특이한 정렬

juicyjerry 2023. 1. 31. 22:57
반응형
function solution(numlist, n) {
    // n과 가까운 숫자순대로 배치
    // 거리의 숫자가 같을 경우, 큰 숫자가 먼저 배치
    let answer = [];
    numlist.forEach((e, i) => {
        let diff = Math.abs(e - n);
        let arr = [];
        answer.push([e, diff]);
    })
    answer.sort((a, b) =>  a[1] - b[1] || b[0] - a[0]);
    // answer 배열안의 각 배열의 1번 인덱스를 오름 차순으로 먼저 정렬하고, 0번인덱스를 내림 차순으로 정렬합니다.
    return answer.map((e) => e.splice(0, 1)[0]);
}
반응형