1043 输出PATest (20 分)
题目:1043 输出PATest (20 分)
给定一个长度不超过 1 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按
PATestPATest....
这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。输入格式:
输入在一行中给出一个长度不超过 1 的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee
思路:
- 遍历整个字符串,计算各字符的个数。
- 循环判断。将字符按顺序判断,个数不为0则输出。
代码:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <sstream>
#include <cmath>
#include <algorithm>
#include <string>
#include <stack>
#include <queue>
#include <vector>
#include <map>
using namespace std; int main()
{
string str;
cin >> str;
int P, A, T, e, s, t;
P = A = T = e = s = t = ;
for(int i = ; i < str.length(); i++)
{
if(str[i] == 'P')
P++;
else if(str[i] == 'A')
A++;
else if(str[i] == 'T')
T++;
else if(str[i] == 'e')
e++;
else if(str[i] == 's')
s++;
else if(str[i] == 't')
t++;
}
while()
{
if(P)
{
printf("P");
P--;
}
if(A)
{
printf("A");
A--;
}
if(T)
{
printf("T");
T--;
}
if(e)
{
printf("e");
e--;
}
if(s)
{
printf("s");
s--;
}
if(t)
{
printf("t");
t--;
}
if(P == && A == && T == && e == && s == && t == )
break;
}
return ;
}
总结:
思路有简单有复杂,全看人脑回路怎么想,把问题简单化的脑子是好脑子,复杂化的容易给脑子产生负担。但是思路简单了,打出的代码不一定是简单的代码,如何把代码打得跟思路一样简单也需要时间磨练。
一看完题目想到的就是遍历字符串,遇到P先输出以此类推,然后输出过的做上标记不再重复输出,但是感觉这样子的话,代码实现起来好像很麻烦,于是就想那可以加个计数,这样就不用那么麻烦的逐一标记了。但是怎么感觉自己还是想的有点麻烦,因为我一直想着输出的时候是要用到原字符串的!后来看到大神的代码思路后,恍然大悟,这题还只是个简单题,要求没那么多,既然只是有多少个全部输出,又计数了,那么只要判断有没有把字符们全部按要求的顺序输出就可以了,果然还是想麻烦了!于是就有了这样的代码。
1043 输出PATest (20 分)的更多相关文章
- PAT Basic 1043 输出PATest (20 分)
给定一个长度不超过 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符 ...
- 1043 输出PATest (20 分)C语言
给定一个长度不超过 10^4的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest- 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输 ...
- PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)
给定一个长度不超过 1 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输 ...
- PAT Basic 1043 输出PATest (20分)[Hash散列]
题目 给定⼀个⻓度不超过10000的.仅由英⽂字⺟构成的字符串.请将字符重新调整顺序,按"PATestPATest-."这样的顺序输出,并忽略其它字符.当然,六种字符的个数不⼀定是 ...
- PAT 1043 输出PATest(20)(代码+思路)
1043 输出PATest(20)(20 分) 给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按"PATestPATest...."这样的顺序输出 ...
- PAT-乙级-1043. 输出PATest(20)
1043. 输出PATest(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000 ...
- 1043. 输出PATest(20)
1043. 输出PATest(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000 ...
- PAT 乙级 1043 输出PATest(20) C++版
1043. 输出PATest(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000 ...
- PAT 1043. 输出PATest(20)
给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按"PATestPATest...."这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一 ...
随机推荐
- TensorFlow(一)
一.Hello World 1.只安装CPU版,TensorFlow1.14.0版本代码 # import tensorflow as tf import tensorflow.compat.v1 a ...
- "Mathematical Analysis of Algorithms" 阅读心得
"Mathematical Analysis of Algorithms" 阅读心得 "Mathematical Analysis of Algorithms" ...
- Ubuntu编译protobuf
个人博客地址:http://www.bearoom.xyz/2019/08/24/ubunt-protobuf/ 因为编译了tensorflow C++的版本,然后提示protobuf的版本不对应引起 ...
- SWIG 3 中文手册——9. SWIG 库
目录 9 SWIG 库 9.1 %include 指令与库搜索路径 9.2 C 数组与指针 9.2.1 cpointer.i 9.2.2 carrays.i 9.2.3 cmalloc.i 9.2.4 ...
- This inspection highlights chained comparisons that can be simplified.
https://stackoverflow.com/questions/26502775/pycharm-simplify-chained-comparison In Python you can & ...
- Spring注解配置和xml配置优缺点比较
Spring注解配置和xml配置优缺点比较 编辑 在昨天发布的文章<spring boot基于注解方式配置datasource>一文中凯哥简单的对xml配置和注解配置进行了比较.然后朋 ...
- P2P平台爆雷不断到底是谁的过错?
早在此前,范伟曾经在春晚上留下一句经典台词,"防不胜防啊".而将这句台词用在当下的P2P行业,似乎最合适不过了.就在这个炎热夏季,P2P行业却迎来最冷冽的寒冬. 引发爆雷潮的众多P ...
- github新手使用教程
1.首先打开https://github.com/官网 注册一个github账号 2.注册成功之后,登录账号,创建一个属于自己的库 3.创建完成之后,为了方便电脑上的代码上传到github 仓库上,要 ...
- C# 扩张方法的语法
using System; namespace ConsoleApp { class Program { static void Main(string[] args) { string str = ...
- 函数(Python)
函数是什么? 计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数 ...