숫자 배열을 첫 번째이자 유일한 인수로 사용하는 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