정수 배열을 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다.
입력으로 받은 배열을 기반으로 함수는 다음 기준에 따라 동일한 길이의 새 배열을 생성해야 합니다.
출력 배열의 해당 요소는 지금까지 발생한 가장 큰 세 숫자의 곱이어야 합니다. 해당 인덱스가 3보다 작은 경우(아직 세 개의 요소를 만나지 않은 경우) 해당 값은 -1이어야 합니다. 고유하지 않은 값을 사용하여 제품을 계산할 수 있지만 고유하지 않은 값은 다른 인덱스에 있어야 합니다.
예를 들어 -
입력 배열이 -
인 경우const arr = [1, 2, 3, 4, 5, 6];
그러면 출력은 다음과 같아야 합니다. -
const output = [-1, -1, 6, 24, 60, 120];
예시
다음은 코드입니다 -
const arr = [1, 2, 3, 4, 5, 6]; const maximumTripleProduct = (arr = []) => { const res = []; const max = [arr[0], arr[1], arr[2]]; res[0] = res[1] = -1; res[2] = arr[0] * arr[1] * arr[2]; for(let i = 3; i < arr.length; i++){ max.push(arr[i]); max.sort((a, b) => b - a); max.pop(); res[i] = max[0] * max[1] * max[2]; }; return res; }; console.log(maximumTripleProduct(arr));
출력
다음은 콘솔 출력입니다 -
[-1, -1, 6, 24, 60, 120]