[알고리즘] 2019 KAKAO BLIND RECRUITMENT 실패율

Subin·2021년 10월 26일
0

알고리즘

목록 보기
3/4

링크: 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));
}
profile
정확하게 알고, 제대로 사용하자

0개의 댓글