Numbers 배열을 취하는 JavaScript 함수를 작성해야 합니다. 함수는 원래 배열을 기반으로 새 배열을 생성해야 합니다. 새 배열의 각 해당 요소는 해당 요소를 포함하는 원래 배열의 모든 요소의 곱이어야 합니다.
예:
입력 배열이 -
인 경우const arr = [1, 2, 3, 4, 5];
그러면 출력 배열은 -
여야 합니다.const output = [120, 60, 40, 30, 24];
선형 시간과 일정한 공간에서 이를 달성해야 합니다(새 어레이를 구성하는 데 사용된 공간은 분명히 제외).
예시
다음은 코드입니다 -
const arr = [1, 2, 3, 4, 5]; const exclusiveProduct = (arr = []) => { // O(n) time complexity const product = arr.reduce((acc, val) => acc * val); const res = []; // O(n) time complexity for(let i = 0; i < arr.length; i++){ const el = arr[i]; res[i] = product / el; }; return res; }; console.log(exclusiveProduct(arr));
출력
다음은 콘솔의 출력입니다 -
[120, 60, 40, 30, 24]