Muscardinus

베스트 앨범 본문

알고리즘 문제/[프로그래머스] Lv3

베스트 앨범

Muscardinus 2021. 2. 14. 20:07
728x90

programmers.co.kr/learn/courses/30/lessons/42579?language=javascript

 

코딩테스트 연습 - 베스트앨범

스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가

programmers.co.kr

function solution(genres, plays) {
    const summaryGenres = genres.reduce((acc, cur, index) => {
        if (!acc[cur]) {
            acc[cur] = {
                totalPlay: 0,
                playList: []
            };
        }
        acc[cur].totalPlay += plays[index];
        acc[cur].playList.push([index, plays[index]]);
        return acc;
    }, {});
    
    const summaryGenresList = Object.values(summaryGenres).sort((a, b) => b.totalPlay - a.totalPlay);
    const answer = summaryGenresList.reduce((acc, cur) => {
        cur.playList.sort((a,b) => b[1] - a[1]);
        acc.push(cur.playList[0][0]);
        if (cur.playList.length > 1) acc.push(cur.playList[1][0]);
        return acc;
    }, []);
    return answer;
}
728x90

'알고리즘 문제 > [프로그래머스] Lv3' 카테고리의 다른 글

정수 삼각형  (0) 2021.02.19
디스크 컨트롤러  (0) 2021.02.15
섬 연결하기  (0) 2021.02.13
풍선 터트리기  (0) 2021.02.12
N으로 표현  (0) 2021.02.12
Comments