[프로그래머스] level3. 베스트앨범 (파이썬, javascript)
728x90
반응형
1. 파이썬
def solution(genres, plays):
answer = []
dic={}
for g,p in zip(genres,plays):
if g not in dic:
dic[g]=p
else:
dic[g]+=p
# 곡 내림차순 정렬
sdic=sorted(dic.items(),key=lambda x:x[1],reverse=True)
for s in sdic:
temp=[]
for i,p in enumerate(plays):
if genres[i]==s[0]:
temp.append((p,i))
cnt=0
temp=sorted(temp, key=lambda x:(-x[0],x[1]))
for t in temp:
num,idx=t
answer.append(idx)
cnt+=1
if cnt==2:
break
return answer
2. javascript
function solution(genres, plays) {
var answer = [];
const dict={};
for(let i=0;i<genres.length;i++){
let genre=genres[i];
if(dict[genre]===undefined){
dict[genre]=plays[i];
}else{
dict[genre]+=plays[i];
}
}
const arr=Object.entries(dict);
arr.sort((a,b)=>b[1]-a[1]);
for(let i=0;i<arr.length;i++){
const genre=arr[i][0];
let temp=[];
for(let j=0;j<plays.length;j+=1){
if(genres[j]===genre){
temp.push([j,plays[j]]);
}
}
temp.sort((a,b)=>b[1]-a[1]);
temp=temp.slice(0,2);
for(let j=0;j<temp.length;j++){
answer.push(temp[j][0]);
}
}
return answer;
}
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 행렬의 곱셈 (파이썬) (0) | 2020.09.21 |
---|---|
[프로그래머스] 프렌즈 4블록 (파이썬) (0) | 2020.09.21 |
[프로그래머스] 1차 캐시 (파이썬, javascript) (0) | 2020.09.21 |
[프로그래머스] 땅따먹기 (파이썬, javascript ) (0) | 2020.09.18 |
[프로그래머스] 영어 끝말잇기 (파이썬) (0) | 2020.09.16 |
TAGS.