https://www.acmicpc.net/problem/11652
11652번: 카드
준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지
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<Long, Integer> map = new HashMap<>();
ArrayList<Long> list = new ArrayList<>();
int n = sc.nextInt();
long max = -1;
for(int i = 0; i < n; i++) {
long num = sc.nextLong();
if(!map.containsKey(num)) map.put(num, 1);
else map.put(num, map.get(num)+1);
max = Math.max(max, map.get(num));
}
for(Long key : map.keySet()) {
if(max == map.get(key)) list.add(key);
}
Collections.sort(list);
System.out.println(list.get(0));
}
}
'백준' 카테고리의 다른 글
백준 1543 문서 검색(Java) (0) | 2023.01.28 |
---|---|
백준 9372 상근이의 여행(Java) (0) | 2023.01.28 |
백준 1302 베스트셀러(Java) (1) | 2023.01.28 |
백준 17219 비밀번호 찾기(Java) (0) | 2023.01.27 |
백준 1120 문자열(Java) (0) | 2023.01.27 |