문제(출처: 프로그래머스)

정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.

 

제한사항

  • 1 ≤ array의 길이 ≤ 100
  • 1 ≤ array의 원소 ≤ 100
  • 1 ≤ n ≤ 100
  • 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다.

▶ 내가 푼 방식

function solution(array, n) {
    var difference = [];
    array.sort()
    array.map(value => difference.push(Math.abs(n-value)))
    const min = Math.min(...difference)
    return array[difference.indexOf(min)];
}

 

 다른 유저가 푼 방식

// 유저 1
function solution(array, n) {
    array.sort((a,b) => Math.abs(n - a) - Math.abs(n - b) || a - b);

    return array[0];
}

 

 배운 것들

     -  sort 를 새로운 방식으로 정렬

     - 

+ Recent posts