백준 1157번 단어 공부(C언어)

최정우·2022년 6월 26일
0

백준 문제풀이

목록 보기
2/26

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

  1. 문자열을 스캔하기위해 입력된 알파벳들의 개수를 파악할 또다른 배열을 만들어줌.
  2. 배열 번호를 이용해 알파벳의 아스키코드를 작성함.
profile
WHEN LIFE GIVES YOU LEMONS, MAKE LEMONADE

0개의 댓글