프로그래머스 해시 - 베스트앨범
1. 문제유형
- hashmap
2. 해결과정
1.⭐가장 많이 재생된 장르 순서를 구한다.
2. 장르별 인덱스, 재생횟수를 저장한 딕셔너리를 구한다.
3.⭐2번에서 구한 딕셔너리를 재생횟수를 기준으로 정렬한다.
4. 1번에서 구한 장르별 순서대로 3번에서 구한 인덱스를 2개씩 꺼낸다.
3. 소스코드
from collections import defaultdict
def solution(genres, plays):
answer = []
gdict = defaultdict(int)
pdict = defaultdict(list)
for genre,play in zip(genres, plays):
gdict[genre]+=play
gdict = sorted(gdict.items(), key=lambda x: x[1], reverse=True)
gdict = [genre for genre, plays in gdict]
for i in range(len(genres)):
pdict[genres[i]].append([i, plays[i]])
for i in range(len(genres)):
pdict[genres[i]] = sorted(pdict[genres[i]], key=lambda x: x[1], reverse=True)
for genre in gdict:
tmp = pdict[genre][:2]
for idx, plays in tmp:
answer.append(idx)
return answer
4. 노트필기
'알고리즘' 카테고리의 다른 글
[시뮬레이션] 16236 아기상어 (0) | 2021.09.08 |
---|---|
[시뮬레이션] - 14503 로봇 청소기 (0) | 2021.09.07 |
시뮬레이션 - 13335 트럭 / 14499 주사위굴리기 (0) | 2021.09.06 |
프로그래머스 [해시] - 위장 (0) | 2021.09.06 |
프로그래머스 [해시] - 전화번호 목록 (0) | 2021.09.05 |