function solution(genres, plays) {
// {장르: 총재생횟수, [인덱스, 재생횟수]}
const summaryGenres = genres.reduce((acc, cur, idx) => {
if(!acc[cur]) {
acc[cur] = {
totalPlay: 0,
playList: [],
};
}
acc[cur].totalPlay += plays[idx];
acc[cur].playList.push([idx, plays[idx]]);
return acc;
}, {});
// console.log(summaryGenres);
// 총재생횟수를 내림차순으로 정렬
const sortedSummaryGenres = (Object.values(summaryGenres).sort((x, y) => y.totalPlay - x.totalPlay))
// console.log(sortedSummaryGenres)
const answer = sortedSummaryGenres.reduce((acc, genre) => {
genre.playList.sort((x, y) => y[1] - x[1]); // 각 장르에서 재생횟수 내림차순 정렬
acc.push(genre.playList[0][0]);
if(genre.playList.length > 1) {
acc.push(genre.playList[1][0]);
}
return acc;
}, []);
return answer;
}
장르가 여러개면 모든 장르에 대해 2곡 미만으로 앨범에 수록해야함... 두 장르만 앨범에 수록된다고 생각해서 매번 헤맸음