Numbers의 배열을 유일하게 취하는 JavaScript 함수를 작성해야 합니다. 함수는 배열의 세 가지 요소 중에서 가장 큰 결과를 산출하는 배열에서 이러한 세 가지 요소의 배열을 준비해야 합니다. 함수는 마침내 이 세 요소의 곱을 반환해야 합니다.
예:
입력 배열이 -
인 경우const arr = [-10, 7, 29, 30, 5, -10, -70];
그러면 출력은 다음과 같아야 합니다. -
const output = 21000
세 숫자가 30, -10, -70이기 때문에
배열이 음수 요소를 포함할 수 있거나 포함할 가능성이 있음을 알 수 있습니다. 따라서 이러한 경우 최대 곱은 이 둘 중 더 큰 값이 됩니다. -
min1 * min2 * max1 max1 * max2 * max3
따라서 다음과 같이 해결합니다.
예시
다음은 코드입니다 -
const arr = [-10, 7, 29, 30, 5, -10, -70]; const threeProduct = (arr = []) => { const sorter = (a, b) => a -b; arr.sort(sorter); let pro1 = 1, pro2 = 1; let len = arr.length - 1; for (let i = len; i > len - 3; i--) { pro1 = pro1 * arr[i]; }; pro2 = arr[0] * arr[1] * arr[len]; return Math.max(pro1, pro2); } console.log(threeProduct(arr));
출력
다음은 콘솔의 출력입니다 -
21000