def solution(genres, plays):
d = dict()
answer = []
for i, genre in enumerate(genres):
try:
if genre in d:
d[genre][0] += plays[i]
d[genre].append([i, plays[i]])
else:
d[genre] = [plays[i], [i, plays[i]]]
except:
print(d)
for genre in sorted(d.values(), key = lambda x: x[0], reverse = True):
l = 2 if len(genre) >= 2 else len(genre)
for i, _ in sorted(genre[1:], key= lambda x: x[1], reverse=True)[:l]:
answer.append(i)
return answer
딕셔너리 자료구조를 통해 해결한 문제
장르를 key 값으로 해서 딕셔너리를 만든다. value느 리스트로 해서 첫번째 인덱스는 해당 장르의 총 재생횟수를 저장하고 그다음 요소에 각 노래에 인덱스와 재생횟수를 저장
저장 후에 총 재생횟수로 정렬하고 각 장르별 재생횟수로 정렬해서 정답을 구할 수 있다.