CodingTest/99클럽2024스터디
99클럽 코테 스터디 5일차 TIL, 프로그래머스 / 베스트 앨범
mrawesome
2024. 7. 27. 09:39
def solution(genres, plays):
# 장르별 총 재생횟수
# 장르 내 노래 각각의 재생수
# 장르 내 재생횟수 같으면, 고유 번호 낮은 노래 먼저 수록하기
hash = {}
answer = []
for i in range(len(genres)):
genre = genres[i]
if genre in hash :
hash[genre]['plays'][i] = plays[i]
hash[genre]['totPlay'] += plays[i]
else :
hash[genre] = {
'plays':{
i : plays[i]
},
'totPlay' : plays[i]
}
# 장르 총 재생횟수 기준 정렬
hash = sorted(list(hash.items()),key = lambda x : -x[1]['totPlay'])
print("hash",hash)
for i in range(len(hash)):
hash[i][1]['plays'] = sorted(hash[i][1]['plays'].items(),key = lambda x : (-x[1],x[0]) )
for i in range(len(hash)) :
try :
answer += [hash[i][1]['plays'][0][0],hash[i][1]['plays'][1][0]]
except :
answer += [hash[i][1]['plays'][0][0]]
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/42579