첫 번째 인수로 숫자 배열 arr을, 두 번째 인수로 단일 숫자 num을 취하는 JavaScript 함수를 작성해야 합니다.
그런 다음 함수는 합이 배열에서 가장 크지만 숫자 num보다 작은 두 개의 숫자를 찾아야 합니다. 합이 num보다 작은 숫자가 두 개 없으면 함수는 -1을 반환해야 합니다.
예를 들어 -
입력 배열과 숫자가 -
인 경우const arr = [34, 75, 33, 23, 1, 24, 54, 8]; const num = 60;
그러면 출력은 다음과 같아야 합니다. -
const output = 58;
34 + 24는 60보다 작은 가장 큰 합이기 때문입니다.
예시
이에 대한 코드는 -
const arr = [34, 75, 33, 23, 1, 24, 54, 8]; const num = 60; const lessSum = (arr = [], num = 1) => { arr.sort((a, b) => a - b); let max = -1; let i = 0; let j = arr.length - 1; while(i < j){ let sum = arr[i] + arr[j]; if(sum < num){ max = Math.max(max,sum); i++; }else{ j--; }; }; return max; }; console.log(lessSum(arr, num));
출력
콘솔의 출력은 -
58