문제
첫 번째 인수로 숫자 배열 arr을, 두 번째 인수로 단일 숫자 num을 취하는 JavaScript 함수를 작성해야 합니다.
요소를 추가하여 배열을 [0, num](둘 다 포함) 사이에 특정 숫자를 추가하여 모든 합을 얻을 수 있도록 만들어야 합니다. 우리의 함수는 마침내 0과 num 사이의 합계를 생성할 수 있도록 배열에 추가하는 데 필요한 최소 수의 숫자를 반환해야 합니다.
예를 들어, 함수에 대한 입력이 -
인 경우const arr = [1, 5, 10]; const sum = 20;
그러면 출력은 다음과 같아야 합니다. -
const output = 2;
출력 설명:
배열에 두 개의 숫자(2와 4)를 추가하면 [0, 20]
사이의 합계를 얻을 수 있기 때문입니다.예시
이에 대한 코드는 -
const arr = [1, 5, 10]; const sum = 20; const minimumAddition = (arr = [], sum = 1) => { let canAdd = 1; let count = 0,i = 0; while(canAdd <= sum){ if((i >= arr.length) || (canAdd < arr[i])){ count++; canAdd+=canAdd; }else{ canAdd += arr[i++]; }; }; return count; }; console.log(minimumAddition(arr, sum));
출력
콘솔의 출력은 -
2