题目描述
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
输入描述
每组用例占一行,包含ZOJ三个字符。
1<=length<=100。
输出描述
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
输入
ZZOOOJJJ
输出
ZOJZOJOJ
代码
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
int hashch[3]={0};
int main(){
string str;
int i,n,cnt=0;
cin>>str;
n=str.size();
for(i=0;i<n;i++){
if(str[i]=='Z')
hashch[0]++;
else if(str[i]=='O')
hashch[1]++;
else
hashch[2]++;
}
for(i=0;i<n;){
if(hashch[0]){
cout<<"Z";
hashch[0]--;
i++;
}
if(hashch[1]){
cout<<"O";
hashch[1]--;
i++;
}
if(hashch[2]){
cout<<"J";
hashch[2]--;
i++;
}
}
return 0;
}