알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
Mississipi
zZa
z
baaa
?
Z
Z
A
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//입력받은 문자를 모두 대문자로 변
String str = sc.next().toUpperCase();
//알파벳 26자리 들어옴
int [] arr = new int[26];
//반복돌면서 각 arr해당하는 자리에 ++
for(int i = 0; i < str.length(); i++) {
int num = str.charAt(i) - 'A';
arr[num]++;
}
int max = 0;
char result = 'A';
//max찾기
for(int i = 0; i<arr.length; i++) {
if(max<arr[i]) {
max = arr[i];
result = (char) (i+'A');
}else if(max==arr[i]) {
result ='?';
}
}
System.out.println(result);
}
}