[Today I Learned] lv.0 가까운 수

suwoncityboyyy·2023년 2월 3일
0
post-thumbnail

문제 설명

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

제한사항

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

입출력 예

입출력 예 #1
3, 10, 28 중 20과 가장 가까운 수는 28입니다.

입출력 예 #2
10, 11, 12 중 13과 가장 가까운 수는 12입니다.

첫번째 시도

function solution(array, n) {
    let arr = []
    for (let i = 0; i < array.length; i++) {
        arr.push(Math.abs(array[i] - n))
        
    }
     
    return array[arr.indexOf(Math.min(...arr))]      
    
}


코드 실행은 되지만 채점과정에서 걸린다. test5..
아무래도 정렬을 안해줘서 그런것 같아서 sort 메서드를 한번 실행 하게 로직을 짰다.

두번째 시도

function solution(array, n) {
  let arr = [];
  array.sort((a, b) => {
    return a - b;
  });
  for (let i = 0; i < array.length; i++) {
    arr.push(Math.abs(array[i] - n));
  }

  return array[arr.indexOf(Math.min(...arr))];
}

성공했다.

간혹가다가 1레벨보다 0레벨이 잘 안풀리는 경우가 있다.
5분컷하는 1레벨 문제가 있는가하면 20분 넘겨서 풀리는 lv0문제들이 있다.

profile
주니어 개발자 기술노트

0개의 댓글