-
[백준 - 1302번] 베스트셀러 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 12. 24. 10:46
이번에는 BOJ의 1302번 문제 "베스트셀러" 를 풀어보도록 하자
입력으로 첫번째 줄에 하루 동안 팔린 책의 개수 N이 주어지고, 다음 줄부터 N개의 줄만큼 책의 제목이 입력으로 주어진다.
출력으로 가장 많이 팔린 책의 제목을 출력하면 되는데, 가장 많이 팔린 책이 여러개일 경우에는 사전순으로 가장 앞서는 제목을 출력하면 되는 문제이다.
성공한 코드는 다음과 같다.
import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); HashMap<String, Integer> map = new HashMap<>(); int max = 0; for(int i = 0; i < N; i++){ String line = br.readLine(); if(map.containsKey(line)) map.put(line, map.get(line) + 1); else map.put(line, 1); if(map.get(line) > max) max = map.get(line); } ArrayList<String> list = new ArrayList<>(); for(String key : map.keySet()){ if(map.get(key) == max) list.add(key); } Collections.sort(list); bw.write(list.get(0) + "\n"); bw.flush(); br.close(); bw.close(); } }
문제 : https://www.acmicpc.net/problem/1302
혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 1350번] 진짜 공간 - Java //Wello Horld// (0) 2019.12.27 [백준 - 1312번] 소수 - Java //Wello Horld// (0) 2019.12.24 [백준 - 1292번] 쉽게 푸는 문제 - Java //Wello Horld// (0) 2019.12.24 [백준 - 1237번] 정ㅋ벅ㅋ - Java //Wello Horld// (0) 2019.12.18 [백준 - 1235번] 학생 번호 - Java //Wello Horld// (0) 2019.12.18