#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char arr[1000009];
int i = 0;
int check[26] = {0};
int max = 0;
char alph;
scanf("%s", arr);
int size = strlen(arr);
for (int k = 0; k < size; k++)
{
for (int i = 0;i < 26 ;i++)
{
if (arr[k] == 'A' + i || arr[k] == 'a' + i)
check[i]++;
}
}
for (int i = 0; i < 26; i++)
{
if (check[i] > max)
{
max = check[i];
alph = 'A' + i;
}
else if (max != 0 && max == check[i])
alph = '?';
}
printf("%c", alph);
}
자꾸 시간 초과로 당황했던 문제 strlen을 계속 호출해줘서 생기는 문제였다. 앞으로는 안 그래야겠다.
이 글은 코딩 꼬꼬마 시절에 푼 문제를 보관한 글로 네이버에 저장해둔 글을 옮긴 글입니다.
혹시나 참고하시는 부분에 이상한 부분이나 질문이 생긴다면 남겨주시면 친절히 답변 드리겠습니다.
728x90
'알고리즘 기초시절' 카테고리의 다른 글
백준 c++1165번 좌표 정렬하기 2(sort 함수 응용) (0) | 2023.01.05 |
---|---|
백준 c++백준 1620번 포켓몬마스터 이다솜 (0) | 2023.01.05 |
백준 (C언어)백준 1152번 단어의 갯수 scanf ("%[^\n]") (0) | 2023.01.04 |
백준 (C언어)백준 2869번 달팽이 (시간복잡도 문제) (0) | 2023.01.04 |
백준 (C언어)백준 2775번 부녀회장문제 재귀 아닌 배열문제 (0) | 2023.01.04 |