배열을 한 요소로 분할하고 나머지 요소로 배열을 분할할 수 있으면 true를 반환하는 함수를 작성해야 합니다. 따라서 이 한 요소는 자신을 제외한 다른 모든 요소의 곱과 같고 그렇지 않으면 false가 됩니다.
예:배열이 -
인 경우const arr = [1, 56, 2, 4, 7];
그러면 출력이 true여야 합니다.
왜냐하면 56은 −
와 같기 때문입니다.2 * 4 * 7 * 1
예시
다음은 코드입니다 -
const arr = [1, 56, 2, 4, 7];
const isEqualPartition = arr => {
const creds = arr.reduce((acc, val) => {
let { prod, max } = acc;
if(val > max || !max){
prod *= (max || 1);
max = val;
}else{
prod *= val;
}
return { prod, max };
}, {
prod: 1,
max: null
});
return creds.max === creds.prod;
};
console.log(isEqualPartition(arr)); 출력
다음은 콘솔의 출력입니다 -
true