본문 바로가기

[BOJ] - JAVA

[백준] 1157 : 단어 공부 JAVA 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int[] alphabet = new int[26]; // 알파벳 출현빈도를 세기 위한 배열
        
        for(byte val : br.readLine().getBytes()){
            if(val>='a'&&val<='z'){ // 소문자일 때
                alphabet[val-'a']++; // 대소문자 상관없이 알파벳의 출현빈도를 세기 위해서
            }
            else if(val>='A'&&val<='Z'){ // 대문자일 때
                alphabet[val-'A']++; // 대소문자 상관없이 알파벳의 출현빈도를 세기 위해서
            }
        }
        int max = -1;
        char c = '?';
        for(int i=0;i<alphabet.length;i++){
            if(max<alphabet[i]){
                max = alphabet[i]; // 알파벳의 출현빈도를 비교해 가장 큰 값을 찾음
                c = (char)('A'+i); // 대문자로 출력하기 위해서
            }
            else if(max==alphabet[i]){
                c = '?'; // 가장 많이 등장한 알파벳이 여러개일 때
            }
        }
        System.out.println(c);
    }
}