【題解】ZeroJudge e503: 00499 – What’s The Frequency, Kenneth?

【題目敘述】https://zerojudge.tw/ShowProblem?problemid=e503
【解題想法】

  • 題目要求輸出「每列文字」中,出現頻率最高的「字母」,及字母出現次數。
  • (Line-7) 因為每列文字中含空白字符,用 getline(cin, s) 讀取資料。
  • (Line-11) 只計算「字母」出現的次數。
#include <iostream>
#include <map>
using namespace std;

int main() {
    string s;
    while (getline(cin, s)){
        map <char,int> mp;
        int mx = 0;
        for (int i = 0; i < s.size(); i++){
            if (('A' <= s[i] && s[i] <= 'Z') || ('a' <= s[i] && s[i] <= 'z')){
                mp[s[i]]++;
                mx = max(mx, mp[s[i]]);
            }
        }
        for (auto i: mp){
            if (i.second == mx) cout << i.first;
        }
        cout << " " << mx << "\n";
    }
    return 0;
}

分享本文 Share with friends