给定?个?度不超过10000的、仅由英?字?构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不?定是?样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。
输?格式:
输?在??中给出?个?度不超过10000的、仅由英?字?构成的?空字符串。
输出格式:
在??中按题?要求输出排序后的字符串。题?保证输出?空。
输?样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main(int argc, char * argv[]) {
string s;
getline(cin,s);
unordered_map<char, int> m;
for(int i=0; i<s.length(); i++) {
m[s[i]]++;
}
bool flag = true;
while(flag) {
flag = false;
if(m['P']-->0)printf("P"),flag=true;
if(m['A']-->0)printf("A"),flag=true;
if(m['T']-->0)printf("T"),flag=true;
if(m['e']-->0)printf("e"),flag=true;
if(m['s']-->0)printf("s"),flag=true;
if(m['t']-->0)printf("t"),flag=true;
}
return 0;
}
原文:https://www.cnblogs.com/houzm/p/12237665.html