반응형
포인트
- 해시를 사용해서 적절히 정렬 기준을 만들고 실행할 수 있는가를 보여준다.
🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다.
python
from collections import defaultdict
def solution(genres: list, plays: list) -> list:
answer = []
hash = defaultdict(list)
for genre, play, index in zip(genres, plays, range(len(plays))):
hash[genre].append([play, index])
genreSort = sorted(list(hash.keys()), key=lambda x: sum(map(lambda y: y[0], hash[x])), reverse=True)
# 플레이 합으로 장를 정렬한다.
for genre in genreSort:
temp = [index for play, index in sorted(hash[genre], key=lambda x: (x[0], -x[1]), reverse=True)]
# 플레이 횟수 및 고유 번호 정렬
answer += temp[:min(len(temp), 2)]
# 1개 이거나 2개
return answer
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] 벽돌 깨기 (0) | 2021.03.23 |
---|---|
[알고리즘] 이중우선순위큐 (0) | 2021.03.19 |
[알고리즘] 미세먼지 안녕! (0) | 2021.03.18 |
[알고리즘] 비밀 지도 (0) | 2021.03.16 |
[알고리즘] 크레인 인형뽑기 게임 (0) | 2021.03.16 |
댓글