문제
첫 번째이자 유일한 인수로 숫자 배열, arr를 취하는 JavaScript 함수를 작성해야 합니다.
이동은 arr[i]를 선택하고 1씩 증가시키는 것으로 구성됩니다. 우리 함수는 배열 arr의 모든 값을 고유하게 만들기 위해 최소 이동 횟수를 반환해야 합니다.
예를 들어, 함수에 대한 입력이 -
인 경우const arr = [12, 15, 7, 15];
그러면 출력은 다음과 같아야 합니다. -
const output = 1;
출력 설명
15에서 16까지 증가시키면 배열이 모든 고유한 요소로 구성되기 때문입니다.
예시
이에 대한 코드는 -
const arr = [12, 15, 7, 15]; const makeUnique = (arr = []) => { arr.sort((a, b) => a - b); let count = 0; for (let i = 1; i < arr.length; i++) { if (arr[i] <= arr[i - 1]) { const temp = arr[i] arr[i] = arr[i - 1] + 1 count += arr[i] - temp }; }; return count; }; console.log(makeUnique(arr));
출력
콘솔의 출력은 -
1