Official
B - mpp Editorial
by
B - mpp Editorial
by
harurun4635
問題文の通りに実装をすればよいです。実装方針は様々ありますが、以下で紹介する実装は
- 頻度列(各文字が \(S\) に何回出現するかを管理する列)をつくる
- 頻度列の最大値(= 出現回数の最大値)を求める
- 最大値をとらない文字を順番に連結する
といった手順で答えを求めています。
Python の実装例
s = input()
cnt = {c : s.count(c) for c in s}
ma = max(cnt.values())
print("".join(c for c in s if cnt[c] != ma))
C++ の実装列
#include <bits/stdc++.h>
using namespace std;
int main(){
string s; cin >> s;
vector<int> cnt(26, 0);
for (char c : s) cnt[c-'a']++;
int ma = *max_element(cnt.begin(), cnt.end());
string t = "";
for (char c : s){
if (cnt[c-'a'] != ma) t += c;
}
cout << t << endl;
}
posted:
last update:
