본문 바로가기

Programming/Algorithm

[C++] 백준 1157번 : 단어 공부

https://www.acmicpc.net/problem/1157



#include <iostream>

#include <string>

using namespace std;


int main() {

string s;

cin >> s;

int alpha[26] = { 0 };

for (int i = 0; i < s.length(); i++) {

if (96 < s[i] && s[i] < 123) s[i] = toupper(s[i]);

alpha[s[i] - 65]++;

}

int max_index = 0;

int max = alpha[0];

for (int j = 1; j < 26; j++)

if (max < alpha[j]) {

max = alpha[j];

max_index = j;

}

char alphabet = max_index + 65;

int cnt = 0;


for (int k = 0; k < 26; k++)

if (max == alpha[k]) cnt++;

if (cnt > 1) cout << "?\n";

else cout << alphabet << '\n';

}