코딩테스트
[예외처리못함/프로그래머스] 베스트앨범
_서리__
2023. 6. 7. 17:30
function solution(genres, plays) {
var answer = [];
let genresPlayNumber = {};
let genresSongPlay = {};
let genresPlayNumberArr = [];
for(let i=0;i<genres.length;i++){
if(!genresPlayNumber[genres[i]]){
genresPlayNumber[genres[i]]=0
}
if(!genresSongPlay[genres[i]]){
genresSongPlay[genres[i]]=[]
}
genresPlayNumber[genres[i]]+=plays[i]
genresSongPlay[genres[i]].push([i,plays[i]])
}
for(let key in genresPlayNumber){
genresPlayNumberArr.push([key,genresPlayNumber[key]])
}
genresPlayNumberArr.sort((a,b)=>b[1]-a[1]);
for(let i=0;i<genresPlayNumberArr.length;i++){
const arr = genresSongPlay[genresPlayNumberArr[i][0]]
if(arr.length>1) arr.sort((a,b)=>b[1]-a[1])
answer.push(arr[0][0])
if(arr.length>1) answer.push(arr[1][0])
}
return answer;
}
arr.length가 1인경우를 고려했어야 하는데 못해서 런타임에러가 계속 났었다!