문제 링크
알파벳 대,소문자로 이루어진 문자열을 입력받아 가장 많이 등장한 알파벳을 출력한다.
이때 대문자와 소문자는 구분하지 않고 개수를 센다.
제한시간: 2초
입력 문자열 길이: 1,000,000이하
가장 많이 사용된 알파벳이 여러개일 경우 ‘?’를 출력한다.
#include <iostream>
#include <string>
using namespace std;
int count[26] = {0};
int main(){
string str;
cin >> str;
int c;
for(int i=str.length()-1; i >= 0; i--){
c = str[i]-65;
if(c > 25) c-=32;
count[c]++;
}
int max = count[0];
c=0;
for(int i=1; i < 26; i++){
if(max == count[i]){ c = ('?'-65); continue;}
if(max < count[i]){ max = count[i]; c = i;}
}
cout << (char)(c+65);
}