반응형
출처 : https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
<문제풀이>
카운트 배열을 이용하여 나온 갯수를 센 후 max값을 찾을 수 있는지를 체크하는 문제
#include <iostream>
#include <cstdio>
#include <cstring>
#include <ctype.h>
using namespace std;
char str[1000001];
int main()
{
int cnt[26]={0};
scanf("%s",str);
int len = strlen(str);
for(int i=0;i<len;i++)
{
cnt[toupper(str[i])-'A']++;
}
int maxcnt = 0;
for(int i=0;i<26;i++)
{
if(maxcnt<cnt[i]) maxcnt=cnt[i];
}
int rescnt = 0;
int resindex = -1;
for(int i=0;i<26;i++)
{
if(maxcnt==cnt[i])
{
rescnt++;
resindex = i;
}
}
if(rescnt > 1) printf("?");
else printf("%c",resindex + 'A');
return 0;
}
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준1259 - 팰린드롬수(브론즈1) (0) | 2020.09.01 |
---|---|
백준 1252번 - 이진수덧셈(브론즈1) (0) | 2020.08.31 |
백준 1236 - 성지키기(브론즈1) (0) | 2020.08.28 |
백준 1110 - 더하기 사이클(브론즈I) (0) | 2020.08.26 |
백준 1032 - 명령 프롬프트(브론즈1) (0) | 2020.08.25 |