숫자 배열을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다.
그런 다음 함수는 배열에서 그러한 요소 하나를 제거하려고 시도해야 합니다. 제거 시 홀수 인덱스에 있는 요소의 합은 짝수 인덱스에 있는 요소의 합과 같습니다. 그 과정에서 함수는 필요한 조합을 달성하기 위해 한 번에 하나의 요소를 제거할 수 있는 가능한 모든 고유한 방법을 계산해야 합니다.
예를 들어 -
입력 배열이 -
인 경우const arr = [2, 6, 4, 2];
그러면 조합 테이블을 만드는 두 개의 요소 6과 2가 인덱스 1과 3에 각각 있기 때문에 출력은 2가 되어야 합니다.
배열에서 6을 제거하면 -
[2, 4, 2] so the sum at odd indices = sum at even indices = 4
배열에서 2를 제거하면 -
[2, 6, 4] so the sum at odd indices = sum at even indices = 6
예시
다음은 코드입니다 -
const arr = [2, 6, 4, 2]; const possibleWays = (arr = []) => { const sum = new Array(arr.length); let res = 0; let oddSum = 0; let evenSum = 0; for (let i = 0; i < arr.length; ++i) { if (i % 2 === 0) sum[i] = (evenSum += arr[i]); else sum[i] = (oddSum += arr[i]); } for (let i = 0; i < arr.length; ++i) { if (i % 2 === 0) { if (2 * sum[i] - arr[i] + oddSum === 2 * (sum[i - 1] || 0) + evenSum) ++res; } else if (2 * sum[i] - arr[i] + evenSum === 2 * (sum[i - 1] || 0) + oddSum) { ++res; } } return res; }; console.log(possibleWays(arr));
출력
다음은 콘솔 출력입니다 -
2