zoukankan      html  css  js  c++  java
  • PAT(B) 1043 输出PATest(Java)统计

    题目链接:1043 输出PATest (20 point(s))

    题目描述

    给定一个长度不超过 10​4​​ 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest… 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。

    输入格式

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

    输出格式

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

    输入样例

    redlesPayBestPATTopTeePHPereatitAPPT
    

    输出样例

    PATestPATestPTetPTePePee
    

    Java代码

    /*********************************************************************************
    Submit Time			Status		Score	Problem	Compiler		Run Time	User
    7/26/2019, 16:19:12	Accepted	20		1043	Java (openjdk)	96 ms		wowpH
    *********************************************************************************/
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.IOException;
    
    public class Main {
    	public static void main(String[] args) throws IOException {
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		String s = br.readLine();
    		int numP = 0, numA = 0, numT = 0, nume = 0, nums = 0, numt = 0;
    		for (int i = 0; i < s.length(); ++i) {				// 统计PATest字符的个数
    			char ch = s.charAt(i);
    			if ('P' == ch) {
    				++numP;
    			} else if ('A' == ch) {
    				++numA;
    			} else if ('T' == ch) {
    				++numT;
    			} else if ('e' == ch) {
    				++nume;
    			} else if ('s' == ch) {
    				++nums;
    			} else if ('t' == ch) {
    				++numt;
    			}
    		}
    		boolean end = false;								// 结束标志
    		while (false == end) {
    			if (0 == numP && 0 == numA && 0 == numT) {
    				if (0 == nume && 0 == nums && 0 == numt) {
    					end = true;						// 所有字符个数均为0,设为结束
    				}
    			}
    			if ((numP--) > 0) {								// 字符'P'还未输出完
    				System.out.print('P');						// 输出字符'P'
    			}
    			if ((numA--) > 0) {
    				System.out.print('A');
    			}
    			if ((numT--) > 0) {
    				System.out.print('T');
    			}
    			if ((nume--) > 0) {
    				System.out.print('e');
    			}
    			if ((nums--) > 0) {
    				System.out.print('s');
    			}
    			if ((numt--) > 0) {
    				System.out.print('t');
    			}
    		}
    	}
    }
    
  • 相关阅读:
    WCF发布后的地址中域名与IP地址的问题
    asp.net判断字符串是否包含特殊字符
    silverlight中DataGrid错误:data未定义
    变电所、分区所、AT所
    Angela Aki 给十五岁的自己
    WCF绑定(Binding)
    几个不错的WCF系列课程
    WCF服务编程学习笔记之服务契约
    asp.net跳转页面的三种方法比较
    Hashtable快速查找的方法
  • 原文地址:https://www.cnblogs.com/wowpH/p/11687450.html
Copyright © 2011-2022 走看看