- Published on
프로그래머스 베스트앨범 (hash)
- Authors

- Name
- Deokgoo Kim
문제 풀이
hash 분류의 문제입니다. hash같은 정렬문제입니다
문제의 난이도는 낮다고 생각합니다.
function solution(genres, plays) {
const answer = [];
const summary = {};
// hash테이블 만들기
for(let i=0;i<genres.length;i++) {
if(!summary[genres[i]]) summary[genres[i]] = [];
summary[genres[i]].push({
play: plays[i],
num: i
})
}
// 장르 순서 찾기
const sortedGenres = Object.keys(summary).sort((a, b) => {
const sumA = summary[a].reduce((x, y) => x + y.play, 0);
const sumB = summary[b].reduce((x, y) => x + y.play, 0);
return sumA>sumB? -1:1;
});
// play로 정렬시키기
sortedGenres.forEach(x => {
summary[x] = summary[x].sort((a,b) => {
if(a.play === b.play) return 1;
return a.play>b.play?-1:1;
});
});
// 각 장르별 두개씩 뽑아내기
sortedGenres.forEach(x => {
answer.push(summary[x][0].num);
if(summary[x].length >= 2) answer.push(summary[x][1].num);
})
return answer;
}
새 글 알림 받기
실무에서 바로 써먹을 수 있는 개발 팁과 경험담을 받아보세요
#실무 개발 경험담#최신 기술 트렌드#성능 최적화 노하우#개발 팁과 인사이트
개인정보는 뉴스레터 발송 목적으로만 사용되며, 언제든 구독을 해지할 수 있습니다.