반응형
프로그래머스 고득점 kit 해시 카테고리의 레벨 3 문제 "베스트앨범" 이라는 문제입니다.
문제요약)
- 장르, 재생횟수가 주어짐
- 인기 있는 장르, 재생횟수, 인덱스 순서대로 분류해서 리턴
주의점)
- 특정 장르의 모든 재생횟수를 더해서 가장 인기있는 장르 순서를 파악
- 한 장르에서 최대2곡만 선정해서 정답배열에 담아야함
풀이방법)
1. 특정 장르를 계산 -> HashMap활용해서 재생횟수를 더함
2. 인기있는 장르부터 선별하기 위해 내림차순 정렬이 필요하기에 List정의, 람다식을 활용해 재생횟수 기준으로 내림차순 정렬
3. List의 key값 순서대로 최대 두 곡을 뽑아서 정답배열에 분배
특정 장르에서 재생횟수가 많은 부분을 찾는건 조금 더 좋은 코드로 쓸 수 있을 것 같습니다. 코드의 중복 제거도 그렇고 무엇보다 저렇게 할 경우 O(n2) 시간복잡도를 갖기 때문에 좋은 코드는 아니고 이런 방법으로 접근하면 이해하기는 쉽다의 의미가 있는 코드로 보시면 될 것 같습니다.
반응형
'코테 > 프로그래머스 고득점Kit' 카테고리의 다른 글
[프로그래머스 고득점 Kit] 피로도 자바 풀이 및 정답 (0) | 2024.01.14 |
---|---|
[프로그래머스 고득점 Kit] 디스크 컨트롤러 자바 풀이 및 정답 (1) | 2024.01.03 |
[프로그래머스 고득점 Kit] 의상 자바 풀이 및 정답 (1) | 2023.12.26 |
[프로그래머스 고득점 Kit] 전화번호 목록 자바 풀이 및 정답 (0) | 2023.12.25 |
[프로그래머스 고득점 Kit] 폰켓몬 자바 풀이 및 정답 (0) | 2023.12.24 |