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
'CodingTest > 99클럽2024스터디' 카테고리의 다른 글
99클럽 코테 스터디 8일차 TIL, 프로그래머스 / 두 큐 합치기 (0) | 2024.07.29 |
---|---|
99클럽 코테 스터디 6일차 TIL, 프로그래머스 / 테이블 해시함수 (0) | 2024.07.28 |
99클럽 코테 스터디 4일차 TIL, 프로그래머스 / 문자열 압축 (0) | 2024.07.25 |
99클럽 코테 스터디 3일차 TIL, 프로그래머스 / 숫자 문자열과 영단어 (0) | 2024.07.25 |
99클럽 코테 스터디 2일차 TIL, 프로그래머스 / 숫자카드 나누기 (0) | 2024.07.24 |