#include <stdio.h>
#include <stdbool.h>
#define ALPHABET_NUM 26

int main(void){
    char str[1000000];
    int count[ALPHABET_NUM]= {0};
    
    scanf("%s", &str);

    int i = 0;
    while(str[i] != '\0'){
    	// 소문자 대문자로 바꾸기
        if(str[i] > 90){ 
            str[i] = str[i] - 32;
        }

        // 알파벳 카운트
        count[str[i]-65] += 1;
        i++;
    }

    // 가장 많이 나온 알파벳 계산
    char max=0;
    bool isMax = false;
    for(int j = 1; j < ALPHABET_NUM; j++){
        // 현재 알파벳의 count가 max인덱스의 알파벳의 count보다 크면 
        // 현재 인덱스 j를 max로 바꾸기
        if(count[j]>count[max]){ 
            max = j;
            isMax = false;
        }
        // 현재 알파벳의 count가 max인덱스의 알파벳의 count와 같으면
        // isMax를 중복의 의미 true로 바꾸기
        else if(count[j] == count[max]){
            isMax = true;
        }
    }

    // isMax가 true면 ? 출력
    if(isMax){
        printf("?");
    }
    // isMax가 false면 max에 65를 더해 대문자 출력
    else{
        printf("%c", max+65);
    }
    
    return 0;
}

 

+ Recent posts