[C++/アルゴリズム]白駿1157号
1395 ワード
// 백준 1157번
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
string a;
char A;
int max=-2147000000, index[26] = {0,}, cnt=0;
cin >> a;
transform(a.begin(), a.end(), a.begin(), ::toupper);
for(int i=0; i<=a.length(); i++){
index[a[i]-65]++;
}
for(int i=0; i<26; i++){
if(index[i] == max) {
max = index[i];
cnt++;
}
if(index[i] > max){
max = index[i];
A = i+65;
cnt = 0;
}
}
if(cnt == 0) cout << A << endl;
else cout << "?" << endl;
}
c++string STL:文字列の大文字と小文字を変換-toupper
transform(String.begin(), String.end(), String1.begin(),::toupper)
インデックス配列を使用したチェック
Reference
この問題について([C++/アルゴリズム]白駿1157号), 我々は、より多くの情報をここで見つけました https://velog.io/@myeongs07/c알고리즘-백준-1157번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol