912.js
/** ------------------------------------------------------------------------------
*
* 2023-03-01
* 912. Sort an Array
* https://leetcode.com/problems/sort-an-array/
*
------------------------------------------------------------------------------ */
/**
* @param {number[]} nums
* @return {number[]}
*/
var sortArray = function (nums) {
// 런타임, 메모리 가장 좋은 방법
const min = Math.min(...nums);
const max = Math.max(...nums);
const counts = Array(max - min + 1).fill(0);
for (const num of nums) {
counts[num - min]++;
}
let i = 0;
for (let j = 0; j < counts.length; j++) {
while (counts[j]) {
nums[i] = min + j;
i++;
counts[j]--;
}
}
return nums;
// 이렇게 해도 통과한다
return nums.sort((a, b) => a - b);
};
console.log(sortArray([5, 2, 3, 4]));