[ 문제 ]
영어에서는 어떤 글자가 다른 글자보다 많이 쓰인다. 예를 들어, 긴 글에서 약 12.31% 글자는 e이다.
어떤 글이 주어졌을 때, 가장 많이 나온 글자를 출력하는 프로그램을 작성하시오.
[ 입력 ]
첫째 줄부터 글이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 글에 알파벳은 적어도 하나 이상 있다.
[ 출력 ]
첫째 줄에 가장 많이 나온 문자를 출력한다. 여러 개일 경우에는 알파벳 순으로 앞서는 것부터 모두 공백없이 출력한다.
[ 작성한 코드 ]
#include <stdio.h>
int main()
{
char s[52];
int alpha[26] = {0};
int i;
while(fgets(s, sizeof(s), stdin))
{
for(i = 0; s[i]; i++)
{
if('a' <= s[i] && s[i] << 'z')
{
alpha[s[i] - 'a']++;
}
}
int max = 0;
for(i = 0; i < 26; i++) //최댓값 판별별
{
if(alpha[i] > max)
{
max = alpha[i];
}
}
for(i = 0; i < 26; i++)
{
if(alpha[i] = max)
{
printf("%c",'a' + i);
}
}
}
}
코드 설명 추가 예정
알고리즘 분류
- 구현
- 문자열
'백준 알고리즘 코딩' 카테고리의 다른 글
[C언어] 백준 2577번 숫자의 개수 (0) | 2025.03.27 |
---|---|
[C언어] 백준 10250번 ACM호텔 (0) | 2025.03.27 |
[C언어] 백준 2475번 검증수 (0) | 2025.03.26 |
[C언어] 백준 4470번 줄번호 (0) | 2025.03.26 |
[C언어] 백준 1264번 모음의 개수 (0) | 2025.03.26 |