
IDEA
(1) 알파벳의 개수(26)만큼 int 배열을 생성해 각 알파벳이 입력된 횟수를 저장한다.
(2) 이 때, 배열의 인덱스는 알파벳 - 65('A'의 아스키코드 값)이다.
(3) 최댓값이 든 배열의 인덱스 + 65를 출력한다.
주의할 점
(1) 문제에서는 대문자와 소문자를 구별하지 않는다.
(2) 출력할 때는 대문자로 출력한다.
Scanner sc = new Scanner(System.in);
String input = sc.nextLine().toUpperCase();
int[] alphabets = new int[26];
for(int i = 0; i<input.length(); i++){
int alphabet = input.charAt(i);
alphabets[alphabet-65]++;
}
int max = 0;
int ascii = 63;
for(int i = 0; i<26; i++){
if(max < alphabets[i]){
max = alphabets[i];
ascii = i+65;
} else if (max != 0 && max == alphabets[i]){
ascii = 63;
}
}
System.out.println((char)ascii);
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine().toUpperCase();
int[] alphabets = new int[26];
for(int i = 0; i<input.length(); i++){
int alphabet = input.charAt(i);
alphabets[alphabet-65]++;
}
int max = 0;
int ascii = 63;
for(int i = 0; i<26; i++){
if(max < alphabets[i]){
max = alphabets[i];
ascii = i+65;
} else if (max != 0 && max == alphabets[i]){
ascii = 63;
}
}
System.out.println((char)ascii);
}
}