위의 사진 처럼 HashMap< key , value > 를 이용해서 Key, value의 값을 저장 할 수 있다.
public char solution(int n, String s){
char answer = ' ';
HashMap<Character, Integer> map = new HashMapM<>();
for(char x : s.tocharArray()){
map.put(x, map.getOrDefault(x,0)+1);
}
int max = Integer.MIN_VALUE;
for(char key : map.keySet()){
if(map.get(key) > max){
max = map.get(key);
answer = key;
}
}
return answer;
}
HashMap<Character, Integer> map = new HashMap<>();
for(char x : s.tocharArray()){
map.put(x, map.getOrDefault(x,0)+1);
}
map.put(x, getOrDefault(x,0)+1)
for(char key: map.keySet()){
if(map.get(key) > max){
max = map.get(key);
answer = key;
}
}
for(char key : map.keySet())
if(map.get(key) > max){
max = map.get(key);
answer = key;
}
map객체를 통해 얻은 key의 value값이 max보다 크면, max의 값을 map.get(key)에 저장한다.
그 다음, key값을 answer에 저장한다.
package algolecture;
import java.util.HashMap;
import java.util.Scanner;
public class Main31 {
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);
}
int max = Integer.MIN_VALUE;
for(char key : map.keySet()){
if(map.get(key) > max){
max = map.get(key);
answer = key;
}
}
return answer;
}
public static void main(String[] args) {
Main31 T = new Main31();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
String str = kb.next();
System.out.print(T.solution(n, str));
}
}