가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램 .
대,소문자를 구분하지 않는다.
단어의 길이 ≤1,000,000
출력 : 가장 많이 사용된 알파벳을 대문자로 출력
여러 개 존재 시 ? 를 출력
#include <iostream>
#include <string>
char capital[50];
char non_capital[50];
int cnt_arr[50];
std::string inpu_str;
int main()
{
int arr_len = 'z' - 'a';
for (int i = 0; i <= arr_len; i++)
{
capital[i] = 'A'+i;
}
std::cin >> inpu_str;
for (int i = 0; i < inpu_str.size(); i++)
{
if (inpu_str[i] <= 'Z') {
cnt_arr[inpu_str[i] - 'A']++;
}
else {
cnt_arr[inpu_str[i] - 'a']++;
}
}
int my_max=0, max_idx,max_cnt=0;
// MAX 찾기
for (int i = 0; i <= arr_len; i++) {
if (cnt_arr[i] > my_max) {
my_max = cnt_arr[i];
max_idx = i;
}
}
for (int i = 0; i <= arr_len; i++) {
if (cnt_arr[i] == my_max)max_cnt++;
}
if (max_cnt > 1) std::cout << "?";
else printf("%c", capital[max_idx]);
}