장르별 플레이 횟수와 음악별 플레이 횟수로 나누었다.
장르별 플레이 횟수를 sort하여 for문을 돌린다.
곡 별 플레이 횟수를 sort하여 하나씩 answer에 추가한다. 곡당 2개씩... 따라서 cnt를 주고 2이면 break를 해주었다.
def solution(genres, plays):
song = {}
genre = {}
answer = []
for i, (g, p) in enumerate(zip(genres, plays)):
if g not in song:
song[g] = [(i, p)]
else:
song[g].append((i, p))
if g not in genre:
genre[g] = p
else:
genre[g] += p
for (k, v) in sorted(genre.items(), key=lambda x: x[1], reverse=True):
cnt = 0
for (i, p) in sorted(song[k], key=lambda x: x[1], reverse=True):
if cnt == 2:
break
answer.append(i)
cnt += 1
return answer