알고리즘/백준(BOJ)
백준 - 1157 단어 공부
시나모온
2020. 8. 28. 16:42
문제 링크입니다 : https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
문자열
#include <iostream>
#include <vector>
#include <cctype>
using namespace std;
int main() {
string str;
cin >> str;
vector<int> alphaCnt(26, 0);
for(int i = 0; i < str.size(); i++) {
if(isupper(str[i])) {
alphaCnt[str[i] - 'A']++;
} else {
alphaCnt[str[i] - 'a']++;
}
}
int maxValue = 0;
bool isDouble = true;
int maxIndex = -1;
for(int i = 0; i < 26; i++) {
if(alphaCnt[i] > maxValue) {
isDouble = false;
maxIndex = i;
maxValue = alphaCnt[i];
} else if(alphaCnt[i] == maxValue) {
isDouble = true;
}
}
if(isDouble) {
cout << '?';
} else {
cout << char(maxIndex + 'A');
}
return 0;
}
개발 환경 : vscode
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~