최대 50개 줄, 최대 50개의 글자와 함께, 공백과 알파벳 소문자로 이루어진 문장이 입력으로 주어집니다.
여기서 가장 많이 쓰인 알파벳소문자를 공백없이 출력하는 문제입니다.
이때, 여러 개일 경우 알파벳 순으로 앞서는 것부터 모두 출력합니다.
🔔 Kick Point :
char의 문자는 ascii code 와도 연관되어 있다는 것을 염두에 두고, operators을 이용할 수 있음을 꼭 기억해주면 좋겠습니다.
이를 통해 if 조건문 중 'a' <= c && c <= 'z' 를 이용할 수 있었습니다
ASCII code
추가적으로 기본적으로 cout 라이브러리는 10진수를 default로 하지만, 8진수, 16진수로 변경하고 싶을때는
std::oct ->8진수 std::dec->10진수 std::hex -> 16진수 를 이용하면 됩니다.
🔔 Code :
#include <iostream>
#include <string>
using namespace std;
int main() {
int alpha[26] = { 0, };
while (true) {
char c = 0;
cin >> c;
if (c == 0) break;
if ('a' <= c && c <= 'z') alpha[c - 'a']++;
}
int bigest = 0;
for (int i = 0; i < 26; i++) {
if (bigest < alpha[i]) bigest = alpha[i];
}
for (int i = 0; i < 26; i++) {
if (alpha[i] == bigest) cout << char('a'+ i);
}
}