임의의 수의 인수(모두 숫자 유형)에 있는 JavaScript 함수를 작성해야 합니다.
함수는 덧셈과 뺄셈의 가능한 모든 합을 계산해야 합니다.
예를 들어 - 인수가 1, 2, 3인 경우
그런 다음 가능한 모든 조합은 -
1 + 2 + 3 1 - 2 - 3 1 + 2 - 3 1 - 2 + 3
마지막으로 함수는 0에 가장 가까운 합이 되어야 합니다. 이 경우 답은 0입니다.
예시
const findSmallestPositive = (...arr) => { let set = new Set([Math.abs(arr[0])]); for (let i = 1; i < arr.length; i++){ const secondSet = new Set; for (let d of Array.from(set)){ secondSet.add(Math.abs(d + arr[i])) secondSet.add(Math.abs(d - arr[i])) }; set = secondSet; }; return Math.min(...Array.from(set)) }; console.log(findSmallestPositive(5,3)) console.log(findSmallestPositive(1,2,3)) console.log(findSmallestPositive(1,2,3,5))
출력
이것은 다음과 같은 출력을 생성합니다 -
2 0 1