문제 풀이 및 개발 공간

[백준] 1302번 베스트셀러 문제! (silver 4 본문

백준공부/java

[백준] 1302번 베스트셀러 문제! (silver 4

gomduri43 2022. 8. 18. 15:24

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.HashMap;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
		HashMap<String,Integer> books=new HashMap<String,Integer>();
		//책 저장, 각각 몇권인지
		int n=Integer.parseInt(br.readLine());
		for(int i=0; i<n; i++) {
			String a=br.readLine();
			if(books.get(a)!=null) {
				books.replace(a, books.get(a)+1);
			}
			else {
				books.put(a, 1);
			}
		}
        //리스트에 책제목들 저장후, key의 value 값을 max와 비교하여
        //가장 많이 팔린책 구하기  value가 같으면 사전순으로 먼저인 책을 출력
		ArrayList<String> arr=new ArrayList<String>(books.keySet());
		int max=0;
		String best="";
		for(int i=0; i<arr.size(); i++) {
			if(books.get(arr.get(i))>max) {
				best=arr.get(i);
				max=books.get(arr.get(i));
			}
			else if(books.get(arr.get(i))==max) {
				if(best.compareTo(arr.get(i))>0) {
					best=arr.get(i);
				}
			}
		}
		bw.write(best+"");
		bw.flush();
	}
}