## Java 풀이 시 유의사항 ##
클래스명은 Main 으로 작성해야함!
💡 문제
💬 입출력 예시
📌 풀이(소스코드)
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
int[] arr = new int [26];
for (int i = 0; i < str.length(); i++) {
if ('A' <= str.charAt(i) && str.charAt(i) <= 'Z') {
arr[str.charAt(i) - 'A']++;
}
else {
arr[str.charAt(i) - 'a']++;
}
}
int max = -1;
char result = '?';
for (int i = 0; i < 26; i++) {
if (arr[i] > max) {
max = arr[i];
result = (char) (i + 65);
}
else if (arr[i] == max) {
result = '?';
}
}
System.out.println(result);
in.close();
}
}
📄 해설
- 문자열을 입력 받고, 알파벳 사용 빈도를 저장하기 위한 배열 선언
- 문자열의 문자(알파벳)들을 확인하여 해당 문자(알파벳)의 인덱스 값들을 계산 후 인덱스의 값을 증가 시킴
- 이때, 대소문자별 계산을 달리 해주어야함(ASCII 코드 값이 다르기 때문)
- 알파벳 배열을 확인하여 가장 많이 사용된 문자를 결과 문자로 설정
- 최댓값과 같은 값이 있을 경우
?
를 결과 문자로 설정