section : HashMap
풀이 1
import java.util.Collections;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public char solution(int n, String str){
char answer = ' ';
char[] chArr = str.toCharArray();
HashMap<Character, Integer> map = new HashMap<>();
for(int i=0; i<n; i++){
if(!map.containsKey(chArr[i])){
map.put(chArr[i],1);
} else {
int value = map.get(chArr[i]);
map.put(chArr[i],value+1);
}
}
for(char key : map.keySet()){
if(map.get(key)==Collections.max(map.values())){
answer = key;
}
}
return answer;
}
public static void main(String[] args){
Main m = new Main();
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String str = scanner.next();
System.out.println(m.solution(n, str));
}
}
풀이 2
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public char solution(int n, String str){
char answer = ' ';
HashMap<Character, Integer> map = new HashMap<>();
for(char x : str.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){
Main m = new Main();
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String str = scanner.next();
System.out.println(m.solution(n, str));
}
}
comment : key와 value를 담을 수 있는 HashMap을 문제 상황에 맞게 사용하여 문제를 효율적으로 해결할 수 있었다.