-
[백준 - 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
1302번: 베스트셀러
첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고, 알파벳 소문자로만 이루어져 있다.
www.acmicpc.net
혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.
'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