Code
#include <stdio.h>
#include <string.h>
int main(void)
{
char arr[1000000];
int count[26];
int i, j, max, a=0, b=0, len;
scanf("%s",arr,sizeof(arr));
len = strlen(arr);
for (i = 0; i < len; i++)
{
if (arr[i] > 96)
{
arr[i] -= 32;
}
}
for (i = 65; i <= 90; i++)
{
for (j = 0; j < len; j++)
{
if (i == arr[j])
{
count[i - 65]++;
}
}
}
max = count[0];
for (i = 1; i < 26; i++)
{
if (max < count[i])
{
max = count[i];
a = i;
}
}
for (i = 0; i < 26; i++)
{
if (max == count[i])
{
b++;
}
}
if (b > 1)
{
printf("?\n");
}
else
{
printf("%c\n", a + 65);
}
}
Key Points
- 문자열을 스캔하기위해 입력된 알파벳들의 개수를 파악할 또다른 배열을 만들어줌.
- 배열 번호를 이용해 알파벳의 아스키코드를 작성함.