import java.util.*;
class Main{
public char solution(int n, String s){
char answer=' ';
HashMap<Character, Integer> map = new HashMap<>();
for(char x : s.toCharArray()){
map.put(x, map.getOrDefault(x, 0)+1); // 찾는 key가 존재한다면 찾는 key의 value를 반환하고 없거나 null이면 default 값을 반환한다.
}
int max = Integer.MIN_VALUE;
for(char key : map.keySet()){ // 키들을 탐색
if(map.get(key) > max){ // value가 max보다 크다면
max = map.get(key); // max값 갱신
answer = key;
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
String str = sc.next();
System.out.println(T.solution(n,str));
}
}
getOrDefault
- 찾는 key가 존재한다면 찾는 key의 value를 반환하고 없거나 null이면 default 값을 반환
getOrDefault(Object key, V DefaultValue)
ke ySet
key 값으로 map을 전체 탐색
'ALGORITHM' 카테고리의 다른 글
[JAVA] 알고리즘 : Hash, sliding window - 매출액의 종류 (0) | 2022.07.05 |
---|---|
[JAVA] 알고리즘 : HashMap - 아나그램 (0) | 2022.07.04 |
[JAVA] 백준 1312번- 소수 (0) | 2022.07.03 |
[JAVA] 백준 13241번- 최소공배수 (0) | 2022.07.02 |
[JAVA] 백준 9655번- 돌 게임 (0) | 2022.07.02 |