티스토리 뷰

728x90

https://www.acmicpc.net/problem/1302

 

1302번: 베스트셀러

첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고

www.acmicpc.net

 

쉬운 문제입니다.

HashMap을 이용하면 각각의 책이 몇 번 입력됐는지 쉽게 파악할 수 있습니다.

문제에 나온 대로 구현만 하면 되는데 동일한 입력 횟수가 발생한 경우,

각 String 알파벳을 비교하며 알파벳 순서가 더 빠른 문자열을 고를 수도 있겠지만,

String 배열을 선언하여 비교할 문자열을 넣은 후 Arrays.sort() 메소드를 이용하면 쉽게

알파벳 순서대로 정렬할 수 있습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.*;
 
public class Main{
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        HashMap<String, Integer> list = new HashMap<>();
 
        for (int i = 0; i < N; i++) {
            String name = sc.next();
            if (list.get(name) == null) {
                list.put(name, 1);
            } else {
                list.put(name, list.get(name) + 1);
            }
        }
 
        int max = 0;
        
        String bm[] = new String [2];
        String ans = "";
        for(String s:list.keySet()) {
            if(max < list.get(s)) {
                ans = s;
                max = list.get(s);
            } else if (ans!=null && max == list.get(s)) {
                bm[0= ans;
                bm[1= s;
                Arrays.sort(bm);
                ans = bm[0];
            }
        }
        System.out.println(ans);
 
        sc.close();
    }
}
cs

 

 

'코딩 > 자바 백준' 카테고리의 다른 글

백준 2303 숫자 게임 (JAVA)  (0) 2021.08.04
백준 1543 문서 검색 (JAVA)  (0) 2021.08.03
백준 5555 반지 (JAVA)  (0) 2021.07.25
백준 1925 삼각형 (JAVA)  (0) 2021.07.21
백준 1357 뒤집힌 덧셈 (JAVA)  (0) 2021.07.06
댓글