1. 문제
programmers.co.kr/learn/courses/30/lessons/42579
2. 접근 방법
해시
3. 코드
python
def solution(genres, plays):
answer = []
genres_idx = {}
genres_cnt = {}
for i in range(len(genres)):
if genres[i] in genres_cnt.keys():
genres_cnt[genres[i]] += plays[i]
genres_idx[genres[i]].append([plays[i], i])
else:
genres_cnt[genres[i]] = plays[i]
genres_idx[genres[i]] = [[plays[i], i]]
genres_cnt = sorted(genres_cnt.items(), key=lambda x: x[1], reverse=True)
for key in genres_idx.keys():
genres_idx[key].sort(reverse=True, key=lambda x: (x[0], -x[1]))
for genre, genre_cnt in genres_cnt:
for i in range(min(2, len(genres_idx[genre]))):
answer.append(genres_idx[genre][i][1])
return answer
4. 마치며
두 개를 만들었는데, 한 개로도 만든 사람들이 있었다 8ㅅ8 씐기
'Algorithm > Python' 카테고리의 다른 글
[백준 9613] GCD 합 (0) | 2021.05.02 |
---|---|
[스택/큐] 다리를 지나는 트럭 (0) | 2021.05.02 |
[해시] 위장 (0) | 2021.05.01 |
[해시] 전화번호 목록 (0) | 2021.04.30 |
[해시] 완주하지 못한 선수 (0) | 2021.04.30 |