컴공생의 다이어리
[프로그래머스] 베스트앨범 - 파이썬(Python) 본문
[프로그래머스] 베스트앨범 - 파이썬(Python)
from collections import defaultdict
def solution(genres, plays):
answer = []
G = defaultdict(int)
detail = defaultdict(list)
for idx, [g, p] in enumerate(zip(genres, plays)):
G[g] += p
detail[g].append((p, idx))
for g, _ in sorted(G.items(), key=lambda x: -x[1]):
for _, i in sorted(detail[g], key=lambda x: -x[0])[:2]:
answer.append(i)
return answer
혹은
from collections import defaultdict
def solution(genres, plays):
answer = []
G = defaultdict(list)
for idx, [g, p] in enumerate(zip(genres, plays)):
G[g].append((idx, p))
order = sorted(G.items(), key=lambda x: sum(dict(x[1]).values()), reverse=True)
for _, L in order:
for i, _ in sorted(L, key=lambda x: -x[1])[:2]:
answer.append(i)
return answer
https://programmers.co.kr/learn/courses/30/lessons/42579
728x90
반응형
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[프로그래머스] 프린터 - 파이썬(Python) (0) | 2022.05.09 |
---|---|
[프로그래머스] 기능개발 - 파이썬(Python) (0) | 2022.05.08 |
[프로그래머스] 위장 - 파이썬(Python) (0) | 2022.05.06 |
[프로그래머스] 전화번호 목록 - 파이썬(Python) (0) | 2022.05.05 |
[프로그래머스] 완주하지 못한 선수 - 파이썬(Python) (0) | 2022.05.04 |
Comments