#include <stdio.h>
#include <string.h>
int arr[26]; //알파벳마다 얼마나 많이 사용되었나! 일단 0으로 초기화
int main(void)
{
char word[1000000];
scanf("%s",word);
int len=strlen(word);
for(int i=0;i<len;i++)
{
if(word[i]>=97 && word[i]<=122) //소문자일때 'a' 아스키코드가 97
arr[word[i]-97]++;
else //대문자일때 'A' 아스키코드가 65
arr[word[i]-65]++;
}
int max=0;
for(int i=0;i<26;i++)
{
if(arr[i]>max)
max=arr[i];
}
int cpy=0; //index값 복사용
int de=0; //중복되어있는지 확인
for(int i=0;i<26;i++)
{
if(arr[i]==max)
{
cpy=i;
de++;
}
}
if(de!=1) //가장 많이 사용된 알파벳이 여러개 존재하는 경우
printf("?");
else //대문자 아스키코드가 65
printf("%c",cpy+65);
return 0;
}
참고로 아스키코드를 이용해서 문제를 풀었기 때문에 주요한 아스키코드는 알고 있는게 도움이 될 때가 있다
'알고리즘! > 백준 CLASS1' 카테고리의 다른 글
2884: 알람 시계 (0) | 2023.07.08 |
---|---|
10250: ACM 호텔 (0) | 2023.07.08 |
2675: 문자열 반복 (0) | 2023.07.07 |
2577: 숫자의 개수 (0) | 2023.07.07 |
2920: 음계 (0) | 2023.07.07 |