베스트앨범

2020.07.31

 const solution = (genres, plays) => {
  return genres
    .reduce((acc, current, idx, origin) => {
      if (!acc.hasOwnProperty(current)) {
        acc[current] = { sum: plays[idx], list: [[idx, plays[idx]]] };
      } else {
        acc[current].sum += plays[idx];
        acc[current].list.push([idx, plays[idx]]);
      }
      if (idx == origin.length - 1) {
        for (const key in acc) {
          acc[key].list.sort((a, b) => b[1] - a[1]);
        }
        return Object.values(acc).sort((a, b) => b.sum - a.sum);
      }
      return acc;
    }, {})
    .reduce((acc, { sum, list }) => {
      acc.push(...list.slice(0, 2).map(([idx, time]) => idx));
      return acc;
    }, []);
};
  • 뭔가 이거다 싶은 풀이가 따로 없네...

0개의 댓글