上题目先

给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。


输入格式:

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


输出格式:

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


输入样例:

pcTclnGloRgLrtLhgljkLhGFauPewSKgt
 

输出样例:

GPLTGPLTGLTGLGLL


 代码长度限制
  16 KB

  时间限制
  150 ms

  内存限制
  64 MB
 
这是一道GPLT里面的经典题目,十分简单,我之前尝试不同方法做,但是都不能全部通过;
这种题目用c/c++的做一遍过,但是java不一样,语言和机制不一样会导致很多新手掉入一个
无底洞,不是开玩笑,你不注意还真的不知道原因,所以细节很重要

因为在java里面 Scnner 这个东西他不像 c语言的scanf,getchar等输入

他们不占内存,我也试过python,也不会报错,为什么呢,就是因为Scanner存在着很多问题,

java是使用Unicode(双字节)编码,Scanner也是读双字节,而在java里面

BufferedReader 输入流或者输出流就派上用场了,所以入坑Java尽量使用IO解决出入问题,这也能提升自己。

 1 import java.io.BufferedReader;
2 import java.io.InputStreamReader;
3 public class Main {
4 static int g,p,l,t;
5 public static void main(String args[]) throws Exception{
6 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
7 String str=br.readLine();
8 for (int i=0;i<str.length();i++){
9 if (str.charAt(i)=='G'||str.charAt(i)=='g')g++;
10 if (str.charAt(i)=='P'||str.charAt(i)=='p')p++;
11 if (str.charAt(i)=='L'||str.charAt(i)=='l')l++;
12 if (str.charAt(i)=='T'||str.charAt(i)=='t')t++;
13 }
14 while (true){
15 if (g==0&&p==0&&l==0&&t==0)break;
16 if (g!=0){
17 System.out.print("G");
18 g--;
19 }
20 if (p!=0){
21 System.out.print("P");
22 p--;
23 }
24 if (l!=0){
25 System.out.print("L");
26 l--;
27 }
28 if (t!=0){
29 System.out.print("T");
30 t--;
31 }
32 }
33 }
34 }

L1-023 输出GPLT (20 分) java题解 GPLT天梯赛防坑技巧的更多相关文章

  1. L1-027 出租 (20 分) java题解

    下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破.其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对 ...

  2. 1043 输出PATest (20 分)

    题目:1043 输出PATest (20 分) 给定一个长度不超过 1 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然, ...

  3. PTA数据结构 习题2.8 输出全排列 (20分)

    习题2.8 输出全排列 (20分) 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间. 输入格式: 输入给出正整数n(<10 ...

  4. 顶点的度 (20 分) Java解法

    顶点的度 顶点的图.给定一个有向图,输出各顶点的出度和入度. 输入格式: 输入文件中包含多个测试数据,每个测试数据描述了一个无权有向图.每个测试数据的第一行为两个正整数n 和m,1 ≤ n ≤ 100 ...

  5. 1002 写出这个数 (20 分) java解题

    读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10^100. 输出格式: 在一行内输 ...

  6. B1043 输出PATest (20 分)

    一.技术总结: 对于哈希字符处理方式,一般是用一个数组存储字符出现的次数,然后再考虑后续. 同时,在输出时,比如这题要输出指定几个字符,我们可以首先统计下这几个字符一共出现的次数sum,然后输出一个就 ...

  7. PAT Basic 1043 输出PATest (20 分)

    给定一个长度不超过 ​ ​​ 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符 ...

  8. 1043 输出PATest (20 分)C语言

    给定一个长度不超过 10^​4的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest- 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输 ...

  9. PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)

    给定一个长度不超过 1 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输 ...

随机推荐

  1. promise例题

    let promise = new Promise(resolve => { console.log('Promise'); resolve(); }); promise.then(functi ...

  2. win7上帝模式详解

    最近,Windows7"GodMode"(上帝模式)被国内各大网站和论坛炒得沸沸扬扬."GodMode"始见于国外网站"GeekInDisguise& ...

  3. OpenCV配置及使用(Eclipse)

    1.首先下载OpenCV,下载的时候,选择windows版的.然后安装,直接点击exe文件即可,安装过程实际就是一个解压的过程.2.注意解压之后的目录,opencv\build\java下的jar文件 ...

  4. Centos8.3安装broadcom(博通)BCM43142无线网卡驱动,Centos8没有wifi选项(No wifi adapter found centos)解决办法

    参考:杆菌大祭司> https://www.jianshu.com/p/3cb41b7b8fec 第一步:查看网卡型号,确认无线网卡型号为BCMXXX lspci | grep Network ...

  5. RGB 与 HSB/HSV 的关系

    能理解 RGB 模式中确定数值的各种颜色,但怎么理解「明度」.「饱和度」.「色相」等概念? 从第一张图可以简单得出以下结论: 明度--这个最简单,rgb中,三色光的值,其加起来的和越大,明度就越大. ...

  6. Python - 导入的位置

    导入的是什么 导入是将 Python 的一些功能函数放到当前的脚本中使用 不导入的功能无法直接在当前脚本使用(除了 python 自带的内置函数) Python 有很多第三方功能,假设想要使用,都必须 ...

  7. CGLib浅析

    CGLib浅析 什么是CGLib CGLIB实现动态代理,并不要求被代理类必须实现接口,底层采用asm字节码生成框架生成代理类字节码(该代理类继承了被代理类). 所以被代理类一定不能定义为final ...

  8. Redis集群的搭建及与SpringBoot的整合

    1.概述 之前聊了Redis的哨兵模式,哨兵模式解决了读的并发问题,也解决了Master节点单点的问题. 但随着系统越来越庞大,缓存的数据越来越多,服务器的内存容量又成了问题,需要水平扩容,此时哨兵模 ...

  9. FlinkCDC 2.0使用实践体验

    一.背景说明 所谓CDC:全称是 Change Data Capture ,在广义的概念上,只要能捕获数据变更的技术,我们都可以称为 CDC .通常我们说的 CDC 技术主要面向数据库的变更,是一种用 ...

  10. linux 档案权限篇之一

    一:预备知识 1.在linux中,任何一个档案都具有.所有者.用户组.其他用户这三种身份的个别权限. 1.所有者:即档案拥有者,由于Linux是多人多任务的系统,因此可能常常会有很多人同时使用这部主机 ...