L1-023 输出GPLT(20分)
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....
这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT
的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例:
GPLTGPLTGLTGLGLL
代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class L1_023 {
public static void main(String[] args) throws IOException {
String str = new BufferedReader(new InputStreamReader(System.in)).readLine().toUpperCase().replaceAll("[^GPLT]", "");
while (0 < str.length()) {
str = PrintChar(str, "G");
str = PrintChar(str, "P");
str = PrintChar(str, "L");
str = PrintChar(str, "T");
}
}
private static String PrintChar(String str, String string) {
if (str.indexOf(string) != -1) {
System.out.print(string);
str = str.replaceFirst(string, "");
}
return str;
}
}