728x90
구현 유형~
일단 냅다 코드~
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int arr[26]={0};
int max=0, max_index;
int count=0; //최대 사용 문자가 한 개인지
cin>>str;
//대문자 : 65-90, 소문자 : 97-122
for(int i=0;i<str.length();i++)
{
int n=str[i];
if(str[i]<97) //대문자
{
arr[n-65]++;
}
else //소문자
{
arr[n-97]++;
}
}
for(int i=0;i<26;i++)
{
if(arr[i]>max)
{
max=arr[i];
max_index=i;
}
}
for(int i=0;i<26;i++)
{
if(arr[i]==max)
{
count++;
}
}
if(count>1)
{
cout<<"?";
}
else
{
cout<<(char)(max_index+65);
}
return 0;
}
아스키 코드로 구현하기
그냥 배열에 인덱스가 알파벳으로 생각하고, 대문자는 65빼기, 소문자는 97뺴기해서 인덱스 찾기
다 구하고 가장 많이 쓴 알파벳 인덱스랑 횟수 구하기
그 후 배열 돌면서 여러갠지 확인하고 여러개면 ?, 아니면 65더해서 문자로 출력하기
끝!
728x90
'코딩테스트 > BOJ' 카테고리의 다른 글
4673번 셀프 넘버 (0) | 2021.12.15 |
---|---|
2750번 수 정렬하기 (0) | 2021.12.14 |
1152번 - 단어의 개수 (0) | 2021.12.11 |
DP > 이친수 (2193번) (0) | 2021.09.05 |
DP > 오르막 수 (11057번) (0) | 2021.09.04 |
댓글