PAT 1043. 输出PATest

来源:互联网 发布:双色球软件2016破解 编辑:程序博客网 时间:2024/05/19 22:51
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。

输入格式:

输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。

输出格式:

在一行中按题目要求输出排序后的字符串。题目保证输出非空。

输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee
import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main {static int temp=0;public static String A (int k,String str){for(int i=0;i<(temp-k);i++){str+=" ";}return str;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);  String str=sc.nextLine();String PList = "";String AList = "";String TList = "";String eList = "";String sList = "";String tList = "";int P=0,A=0,T=0,e=0,s=0,t=0;for(int i=0;i<str.length();i++){ switch (str.charAt(i)) {case 'P':PList+=str.charAt(i)+"";P++;break;case 'A':AList+=str.charAt(i)+"";A++;break;case 'T':TList+=str.charAt(i)+"";T++;break;case 'e':eList+=str.charAt(i)+"";e++;break;case 's':sList+=str.charAt(i)+"";s++;break;case 't':tList+=str.charAt(i)+"";t++;break;}}int n[]=new int[]{P,A,T,e,s,t};        for(int i=0;i<6;i++){        if(n[i]>temp){        temp=n[i];                }        }         PList = A(P,PList); AList = A(A,AList); TList = A(T,TList); eList = A(e,eList); sList = A(s,sList);; tList = A(t,tList);          String ss="";        for(int i=0;i<PList.length();i++){        ss+=PList.charAt(i)+""+AList.charAt(i)+""+TList.charAt(i)+""+eList.charAt(i)+""+sList.charAt(i)+""+tList.charAt(i)+"";                }                System.out.println(ss.replaceAll(" ", ""));        }}

0 0
原创粉丝点击