본문 바로가기
Programming Test/문제풀이

[프로그래머스] 30. 베스트 앨범 - Python

by muns91 2025. 2. 5.
프로그래머스 - 베스트 앨범

 

문제집 링크 : http://aladin.kr/p/szPra

 

내일은 코딩테스트 with 파이썬

IT 취업을 준비하는 모든 수험생을 위해 쓰였다. 이 책의 문제들은 프로그래머스와 제휴하여 코딩 테스트에서 가장 많이 등장하는 자료구조와 이를 응용한 알고리즘을 사용하는 문제들로 엄선

www.aladin.co.kr

프로그래머스 URL :  

 

[도서실습] 내일은 코딩테스트 with 파이썬(자료구조와 알고리즘의 기초부터 실전까지)

프로그래머스x김앤북 파이썬 코딩테스트 실습 강의 *본 강의는 <내일은 코딩테스트 with 파이썬(자료구조와 알고리즘의 기초부터 실전까지)> 내 실습을 바탕으로 제작된 무료 실습 강의입니다.

school.programmers.co.kr


■ 작성 코드

from collections import defaultdict

def solution(genres, plays):
    
    check = defaultdict(list)
    play_check = defaultdict(int)
    
    for idx, (g, play) in enumerate(zip(genres, plays)):
        check[g].append([idx, play])
        play_check[g] += play
    
    sorted_plays = sorted(play_check.items(), key=lambda x:-x[1])
    
    answer = []
    
    for g, _ in sorted_plays:
        songs = sorted(check[g], key=lambda x: -x[1])[:2]
        answer.extend([song for song, _ in songs])
        
    
    
    return answer
반응형