728x90
문제
정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.
해결 과정
function solution(array, n) {
var answer = 0;
let minNum = 999;
let arrayAgain = array.sort();
for (let i = 0; i < array.length; i++) {
let num = array[i];
if (minNum > Math.abs(n - num)) {
minNum = Math.abs(n - num);
answer = num;
}
}
return answer;
}
가까운 수를 구하는 문제다. 이리저리 문제를 풀 방법을 생각해 봤지만 도무지 아이디어가 안떠올라 라미개발자 영상을 보고 방법을 찾았다.
그런데 문제가 minNum을 왜 999로 설정하는지.. 수를 비교하기 위해서라는 건 알지만 이해가 도무지되지 않았다. 천천히 하루정도 생각을 해본뒤 디버깅을 해가며 코드를 이해했다.
Math.abs()를 이용해 문제를 풀 수 있었다..
새롭게 알게된 점
Math.abs()는 절대값을 구하기 위한 함수이다.
728x90
'⌨️ 프로그래머스 > 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] 암호 해독 | JS (0) | 2024.08.15 |
---|---|
[프로그래머스] 369게임 | JS (0) | 2024.08.15 |
[프로그래머스] 삼각형의 완성조건 (1) | JS (0) | 2024.08.13 |
[프로그래머스] 중복된 문자 제거 | JS (0) | 2024.08.13 |
[프로그래머스] 컨트롤 제트 🎛️ | JS (0) | 2024.08.07 |