어디까지 갈 수 있을까?

[해시] 프로그래머스 베스트앨범 본문

알고리즘/문제

[해시] 프로그래머스 베스트앨범

_Min 2021. 5. 7. 20:28

문제링크 programmers.co.kr/learn/courses/30/lessons/42579

 

1. sort() 활용 잘하기, -붙이면 reverse=True 와 같은 역할 함

 

 

[답코드]

def solution(genres, plays):
    answer = [i for i in range(len(genres))]
    dict = {}

    for i in range(len(genres)):
        if genres[i] not in dict:
            dict[genres[i]] = plays[i]
        else:
            dict[genres[i]] += plays[i]
    answer.sort(key=lambda x: (-dict[genres[x]], -plays[x], x))

    genre_dict = {}
    ret=[]
    for j in answer:
        if genres[j] not in genre_dict:
            genre_dict[genres[j]] = 1
            ret.append(j)
        else:
            if genre_dict[genres[j]] >= 2:
                continue
            else:
                genre_dict[genres[j]] +=1
                ret.append(j)

    return ret
728x90
Comments