Notice
Recent Posts
Recent Comments
Link
관리 메뉴

one by one ◼◻◼◻

베스트 앨범(코딩테스트 연습-해시) 본문

코딩문제

베스트 앨범(코딩테스트 연습-해시)

JihyunLee 2022. 6. 10. 20:06

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from collections import defaultdict
def solution(genres, plays):
    answer = []
    
    genres_count = defaultdict(int)
    genres_song = defaultdict(list)
    for i, (g,p) in enumerate(zip(genres, plays)):
        genres_count[g] += p
        genres_song[g].append([p,i])
        
        
    G = len(genres_count)
    for _ in range(G):
        count_nums = list(genres_count.values())
        genre_names = list(genres_count.keys())
        max_num = max(count_nums)
        max_genre_name = genre_names[count_nums.index(max_num)]
        print(max_genre_name)
        del genres_count[max_genre_name]
        
        songs = genres_song[max_genre_name]
        if len(songs) == 1:
            answer.append(songs[0][1])
        else:
            songs =sorted(songs, key = lambda song:-song[0])
            answer.append(songs[0][1])
            answer.append(songs[1][1])
    return answer
cs
Comments