배열을 한 요소로 분할하고 나머지 요소로 배열을 분할할 수 있으면 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