링크: https://programmers.co.kr/learn/courses/30/lessons/42889
function getResult(args) {
var result = [];
var { c, obj } = args;
for (const [k, v] of Object.entries(obj)) {
result.push({ id: k, value: v / c });
c -= v;
}
return result.sort((a, b) => b.value - a.value).map((d) => +d.id);
}
function getObj(N, stages) {
var result = [...Array(N).keys()].reduce((acc, _, i) => {
return { ...acc, [i + 1]: 0 };
}, {});
for (let i = 0; i < stages.length; i++) {
let stage = stages[i];
if (result[stage] == 0 || result[stage]) {
result[stage] += 1;
}
}
return { obj: result, c: stages.length };
}
function solution(N, stages) {
return getResult(getObj(N, stages));
}