[프로그래머스/Lv.0] 가까운 수

Lainlnya·2023년 1월 24일
0

프로그래머스

목록 보기
6/49
post-thumbnail

문제

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

제한사항

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

입출력 예

문제 풀이

function solution(array, n) {
  let minimum_array = [];
  array.map((item) => minimum_array.push(Math.abs(item - n)));

  const first_num =
    array[minimum_array.indexOf(Math.min.apply(Math, minimum_array))];
  const last_num =
    array[minimum_array.lastIndexOf(Math.min.apply(Math, minimum_array))];
  return first_num >= last_num ? last_num : first_num;
}

처음에는 제한사항의 가장 가까운 수가 여러 개일수록 작은 값을 리턴한다는 것을 보지 못하고 바로 절댓값을 배열에 넣어 가장 작은 값을 리턴했었는데 first_num과 last_num을 구해서 같은 값이 있으면 가장 작은 값을 리턴하도록 만들었다.

profile
Growing up

0개의 댓글