Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 맑은소리 스피치학원
- 흰날개해오라기
- 계수정렬
- django
- python3
- AI역량평가
- keras
- 한국의새
- 백로과
- 솔딱새과
- 가마우지과
- 한국의 새
- ADsP
- Birthday paradox
- SimpleCraft
- 비둘기목
- 생일문제
- IBK기업은행 인턴
- AI전략게임
- 비둘기과
- 딥러닝 공부
- 참새과
- structured_array
- 딥러닝공부
- 기러기목
- 참새목
- 오리과
- Python
- 직박구리과
- 딱다구리과
Archives
- Today
- Total
진박사의 일상
[프로그래머스] 해시 문제 - 베스트앨범 본문
from collections import defaultdict
def solution(genres, plays):
answer = []
musics = defaultdict(list)
for i in range(len(genres)):
musics[genres[i]].append((plays[i], i)) # (재생수,고유번호) set
#재생수 총합을 기준으로 내림차순 정렬
playlist_sort = sorted(list(musics.values()),
key=lambda x: -sum([play[0] for play in x]))
print(playlist_sort)
for playlist in playlist_sort:
selected = sorted(playlist, key=lambda x: (-x[0], x[1]))[:2] # 재생수 기준 내림차순, 고유번호 기준 오름차순
print(selected)
if len(selected) == 1: # 하나 뿐이면
answer.append(selected[0][1])
else:
answer.append(selected[0][1])
answer.append(selected[1][1])
return answer
해시 문제 마스터~
'프로그래밍 > 코딩테스트 공부' 카테고리의 다른 글
[프로그래머스] 힙 문제 - 더 맵게 (0) | 2021.09.10 |
---|---|
[프로그래머스] 큐 문제 - 주식 가격 (0) | 2021.09.10 |
[프로그래머스] 해시 문제 - 위장 (0) | 2021.09.10 |
[프로그래머스] 해시 문제 - 전화번호 목록 (0) | 2021.09.10 |
[프로그래머스] 19카카오 겨울 인턴십 문제 - 튜플 (0) | 2021.09.10 |