우리는 두 개의 정렬된 숫자 배열을 취하는 JavaScript 함수를 작성해야 합니다. 함수는 두 배열을 병합하여 결과로 정렬된 배열을 형성하고 해당 배열을 반환해야 합니다.
예를 들어 -
두 배열이 -
인 경우const arr1 = [2, 6, 6, 8, 9]; const arr2 = [1, 4, 5, 7];
그러면 출력 배열은 -
가 되어야 합니다.const output = [1, 2, 4, 6, 6, 7, 8, 9];
예시
이에 대한 코드는 -
const arr1 = [2, 6, 6, 8, 9]; const arr2 = [1, 4, 5, 7]; const mergeSortedArrays = (arr1 = [], arr2 = []) => { let m = arr1.length; let n = arr2.length; let currentIndex = m + n; const checkNum1HasLargerNumber = (a, b) => { if (a < 0) { return false; }; if (b < 0) { return true; }; return arr1[a] >= arr2[b]; }; m −= 1; n −= 1; while (currentIndex−−) { let hasNums1LargerNumber = checkNum1HasLargerNumber(m, n); arr1[currentIndex] = hasNums1LargerNumber ? arr1[m] : arr2[n]; if (hasNums1LargerNumber) { m −= 1; } else { n −= 1; } }; }; mergeSortedArrays(arr1, arr2); console.log(arr1);
출력
콘솔의 출력은 -
[ 1, 2, 4, 5, 6, 6, 7, 8, 9 ]