[10/18] 베스트앨범

이경준·2021년 10월 18일
0

코테

목록 보기
131/140
post-custom-banner

레벨3 문제
해시

내 코드

def solution(genres, plays):
    
    sumlist = {}
    arr = {}
    answer = []
    
    for i in range( len(genres) ):
        # 리스트 안에 없으면 (처음)
        if genres[i] not in sumlist:
            sumlist[genres[i]] = plays[i]
            arr[genres[i]] = []
            arr[genres[i]].append([plays[i], i])
            
        # 리스트 안에 이미 있으면
        else:
            sumlist[genres[i]] += plays[i]
            arr[genres[i]].append([plays[i], i])
            
    sumlist = sorted(sumlist.items(), key = lambda x:x[1], reverse=True)
    
    for genre in sumlist:
        genre = genre[0]
        # 장르에 속한 곡이 하나라면
        if ( len(arr[genre]) == 1 ):
            temp = arr[genre][0][1]
            answer.append(temp)
            
        # 2개 이상
        else:
            arr[genre].sort(key = lambda x:(-x[0], x[1]))
            answer.append(arr[genre][0][1])
            answer.append(arr[genre][1][1])    
    
    return answer

로직

  • 합계 딕셔너리와 재생횟수, 인덱스 딕셔너리를 따로 만들어줬다.

피드백

  • 딕셔너리 정렬...
profile
The Show Must Go On
post-custom-banner

0개의 댓글