알고리즘 공부

[백준 1302번] 베스트셀러 - java

철매존 2021. 11. 10. 21:46
728x90

문제 설명

1. 책의 개수와 팔린 책들이 주어진다.

2. 하루 동안 팔린 책들 중 가장 많이 팔린 책을 return하면 된다.

3. 같은 숫자가 팔렸으면 사전순으로 먼저 오는 것이 오늘의 베스트셀러이다.

풀이 과정

 1. 해쉬맵과 트리셋을 이용했다.

 2. 해쉬맵의 getOrDefault 메소드를 이용하여 해당하는 Key(책이름)의 Value(팔린개수)를 구해주었다.

 3. 이후 해쉬맵을 Value기준으로 정렬하여 가장 많이 팔린 순서대로 배치했다.

 4. 그 해쉬맵의 최대 개수 Value를 갖는 Key들을 순서대로 가져와서 TreeSet에 저장하면 가장 사전의 앞에 해당하는 값을 구할 수 있다.

 

코드