만족은 하되 안주하지는 말자

기록해야 기억한다

프로그래밍/programmers&bj

[C++][알고리즘] 프로그래머스:: 베스트앨범 (해쉬)

D36choi 2020. 3. 9. 18:25
728x90

https://programmers.co.kr/learn/courses/30/lessons/42579

 

코딩테스트 연습 - 베스트앨범 | 프로그래머스

스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 play

programmers.co.kr

실수한 점)

총재생수가 가장 많은 1순위 2순위 장르의 노래를 2곡씩 담아서 베스트앨범을 내는 것이라고 생각했는데...

막상 그렇게 푸니 케이스 중 1개만 맞고 나머진 다 틀렸었다.

문제 설명이 모호하다는 유저들의 건의사항이 많은 문제였으니 내가 멍청한게 아니라고 스스로 위로중 ...

 

총재생수가 많은 순서대로 각 장르의 최상위 재생곡 2곡씩을 (1곡인경우도 있다) 앨범에 담는다

가 실제 출제자의 의도이다. 고치는 건 금방이었다.

하지만 map? multimap? vector? 무엇을 활용해야 할지 머릿속으로 정립이 잘 되지 않았다.

문제를 통해 vector 나 map 에 대해 더 공부가 된듯.

ex) map 은 order by key 이다. order by value 는 또 다른 방법들이 필요.