-
[예외처리못함/프로그래머스] 베스트앨범코딩테스트 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인경우를 고려했어야 하는데 못해서 런타임에러가 계속 났었다!
'코딩테스트' 카테고리의 다른 글
[못풀었다/프로그래머스] 불량사용자 (0) 2023.06.09 [프로그래머스] 보석쇼핑 (1) 2023.06.09 [못풀었다/프로그래머스] 단속카메라 (0) 2023.06.06 [다시풀기/단어변환] (0) 2023.06.05 [프로그래머스] 최고의 집합 (0) 2023.06.04