강의로 돌아가기
wonsunil

[JS] 5 ~ 14 실패

뭘 더 넣어야 통과될까요?

작성중인 코드―solution.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function solution(genres, plays) {
    const album = {};

    genres
    .forEach((key, index) => {
        album[key] = [...(album[key] ?? []), [index, plays[index]]];
    });

    return Object.keys(album)
    .map(key => [key, album[key].reduce((acc, array) => acc + array[1], 0), album[key]])
    .sort((a, b) => b[1] - a[1])
    .filter((_, index) => index < 2)
    .map(array => array[2])
    .map(album => album.sort((a, b) => b[1] - a[1]))
    .map(album => album.filter((_, index) => index < 2))
    .map(albums => albums.map(album => album[0]))
    .flat();

}
1 개의 답변
김가영

총 플레이 수를 합산된 값이 더 큰 장르가 먼저 앞에 오도록 해야 합니다.
아래 테스트 케이스에서 [4, 3, 1, 0]이 나온다면 코드를 수정해야 할 것 같네요

["pop", "pop", "pop", "rap", "rap"]
[45, 50, 40, 60, 70]
답: [1, 0, 4, 3]

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.