[프로그래머스] level3 : 베스트 앨범

profile
마릴린벅시
2023. 6. 25. 13:34알고리즘

1. 문제 설명

 

2. 문제 해석

앨범에 수록될 곡의 우선순위는 아래와 같다.

1. 총 재생 수가 가장 많은 장르 부터 수록한다.

2. 같은 장르 내에서는 재생 수가 많은 곡 순으로 수록한다.

3. 만약 같은 장르 내에서 재생 수가 같다면, 고유번호가 작은 것을 먼저 수록한다.

4. 장르 별로 가장 많이 재생된 노래를 최대 2개까지만 수록한다. ⭐️

데이터의 흐름을 보면 아래와 같은 flow로 문제를 풀었다.

 

3. 문제 풀이

 

4. 소감

문제 카테고리가 해시였기 때문에 뭔가 배열이나 sort를 남용해서는 안 될 것 같았다.

그래서 어떻게 하면 해시 자료구조를 메인으로 사용하여 풀 수 있을까 고민하다가 오히려 머리가 복잡해져서

그냥 되는대로 풀어봤는데 의외로 성능이 잘 나와서 '어째서???' 했다.

역시 일단은 되는대로 풀어봐야하는 것 같다.

그리고 input데이터의 양을 극도로 작은 양으로 설정해서 접근했더니 input이 길이가 1일 때 바로 리턴 [0]을 해줘야 한다는 것도

알 수 있었다. 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

반응형