https://www.acmicpc.net/problem/1302
1302번: 베스트셀러
첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고
www.acmicpc.net

해석 및 팁
이 문제는 HashMap을 사용하여 이름과 횟수를 저장한 후에 최댓값과 value값이 같을 때 해당 key값을 ArratList에 저장하여 오름차순으로 정렬한 뒤 가장 앞에 있는 것을 출력해 주면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashMap<String, Integer> map = new HashMap<>();
ArrayList<String> list = new ArrayList<>();
int n = sc.nextInt();
int max = -1;
for(int i = 0; i < n; i++) {
String str = sc.next();
if(!map.containsKey(str)) map.put(str, 1);
else map.put(str, map.get(str)+1);
max = Math.max(max, map.get(str));
}
for(String key : map.keySet()) {
if(max == map.get(key)) list.add(key);
}
Collections.sort(list);
System.out.println(list.get(0));
}
}
'백준' 카테고리의 다른 글
백준 9372 상근이의 여행(Java) (0) | 2023.01.28 |
---|---|
백준 11652 카드(Java) (0) | 2023.01.28 |
백준 17219 비밀번호 찾기(Java) (0) | 2023.01.27 |
백준 1120 문자열(Java) (0) | 2023.01.27 |
백준 1057 토너먼트(Java) (0) | 2023.01.27 |