def solution(genres, plays):
dic, hap = {}, {}
i = 0
for g, p in zip(genres, plays):
if g not in dic:
dic[g] = [[p, i]]
hap[g] = p
else:
dic[g].append([p, i])
hap[g] += p
i += 1
s_hap = sorted(hap.items(), key=lambda x: x[1], reverse=True)
ret = []
for k, _ in s_hap:
lst = sorted(dic[k], key=lambda x: x[0], reverse=True)
if len(lst) > 2: lst = lst[:2]
for _, num in lst:
ret.append(num)
return ret
programmers.co.kr/learn/courses/30/lessons/42579#
코딩테스트 연습 - 베스트앨범
스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가
programmers.co.kr
'알고리즘 > 프로그래머스(Python)' 카테고리의 다른 글
bfs - 타겟 넘버 / 파이썬 (0) | 2020.11.02 |
---|---|
완전탐색 - 소수 찾기 / 파이썬 (0) | 2020.11.01 |
해시 - 전화번호 목록 / 파이썬 (0) | 2020.10.30 |
[알고리즘] 프로그래머스 비밀지도 / python, 비트연산자 (0) | 2020.05.07 |
[알고리즘] 프로그래머스 프렌즈4블록 / python (0) | 2020.05.06 |