[Level 3 / 해시] 베스트앨범 + Swift

sanghee·2021년 9월 6일
0

🙈코딩테스트

목록 보기
16/52
post-thumbnail

베스트앨범

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

나의 풀이

func solution(_ genres:[String], _ plays:[Int]) -> [Int] {
    var dict: [String: [[Int]]] = [:]
    
    genres.enumerated().forEach { (index, genre) in
        if dict[genre] == nil {
            dict[genre] = [[index, plays[index]]]
        } else {
            dict[genre]! += [[index, plays[index]]]
        }
    }
    
    return Array(dict.values)
        .sorted {
            $0.reduce(0) { $0 + $1[1] } > $1.reduce(0) { $0 + $1[1] }
        }
        .flatMap {
            $0.sorted { $0[1] > $1[1] }.map { $0[0] }.prefix(2)
        }
}
profile
👩‍💻

0개의 댓글