代码(c++)
#include <iostream>
using namespace std;
int main() {
string s1;
getline(cin, s1);
string s2 = "PATest";
int count[s2.length()] = {0};
int sum = 0;
for(int i=0; i<s1.length(); i++) {
for(int j=0; j<s2.length(); j++){
if(s1.at(i)==s2.at(j)){
count[j]++;
sum++;
}
}
}
while(sum){
for(int i=0; i<s2.length(); i++){
if(count[i]){
cout<<s2.at(i);
count[i]--;
sum--;
}
}
}
cout<<endl;
return 0;
}
注解
水题。看懂题目意思,依次统计PATest字母的出现次数即可。
代码(java)
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
char[] ch = s.toCharArray();
int Pin = 0,Ain = 0,Tin=0,ein=0,sin=0,tin=0;
Arrays.sort(ch);
for (int i = 0; i < ch.length; i++) {
switch(ch[i]){
case 'P':Pin++;break;
case 'A':Ain++;break;
case 'T':Tin++;break;
case 'e':ein++;break;
case 's':sin++;break;
case 't':tin++;break;
}
}
while(Pin>0 ||Ain>0||Tin>0||ein>0||sin>0||tin>0 ){
if(Pin>0){
System.out.print('P');
Pin--;
}
if(Ain>0){
System.out.print('A');
Ain--;
}
if(Tin>0){
System.out.print('T');
Tin--;
}
if(ein>0){
System.out.print('e');
ein--;
}
if(sin>0){
System.out.print('s');
sin--;
}
if(tin>0){
System.out.print('t');
tin--;
}
}
}
}