코테/프로그래머스 고득점Kit

[프로그래머스 고득점 Kit] 베스트앨범 자바 풀이 및 정답

내가 그린 코딩 그림 2023. 12. 27. 10:53
반응형

프로그래머스 고득점 kit 해시 카테고리의 레벨 3 문제 "베스트앨범" 이라는 문제입니다.

 

문제요약)

- 장르, 재생횟수가 주어짐

- 인기 있는 장르, 재생횟수, 인덱스 순서대로 분류해서 리턴

 

주의점)

- 특정 장르의 모든 재생횟수를 더해서 가장 인기있는 장르 순서를 파악

- 한 장르에서 최대2곡만 선정해서 정답배열에 담아야함

 

풀이방법)

1. 특정 장르를 계산 -> HashMap활용해서 재생횟수를 더함

2. 인기있는 장르부터 선별하기 위해 내림차순 정렬이 필요하기에 List정의, 람다식을 활용해 재생횟수 기준으로 내림차순 정렬

3. List의 key값 순서대로 최대 두 곡을 뽑아서 정답배열에 분배

 

특정 장르에서 재생횟수가 많은 부분을 찾는건 조금 더 좋은 코드로 쓸 수 있을 것 같습니다. 코드의 중복 제거도 그렇고 무엇보다 저렇게 할 경우 O(n2) 시간복잡도를 갖기 때문에 좋은 코드는 아니고 이런 방법으로 접근하면 이해하기는 쉽다의 의미가 있는 코드로 보시면 될 것 같습니다.

반응형