fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm>
  4. #include <vector>
  5. #include <map> // Or an array for character counts
  6.  
  7. // Using namespace std; // As requested by the user
  8.  
  9. void solve() {
  10. std::string s;
  11. std::cin >> s;
  12.  
  13. std::map<char, int> counts;
  14. for (char c : s) {
  15. counts[c]++;
  16. }
  17.  
  18. std::string result = "";
  19.  
  20. // Append all 'T's
  21. if (counts.count('T')) {
  22. for (int i = 0; i < counts['T']; ++i) {
  23. result += 'T';
  24. }
  25. counts.erase('T');
  26. }
  27.  
  28. // Append all 'F's
  29. if (counts.count('F')) {
  30. for (int i = 0; i < counts['F']; ++i) {
  31. result += 'F';
  32. }
  33. counts.erase('F');
  34. }
  35.  
  36. // Append all 'N's
  37. if (counts.count('N')) {
  38. for (int i = 0; i < counts['N']; ++i) {
  39. result += 'N';
  40. }
  41. counts.erase('N');
  42. }
  43.  
  44. // Append remaining characters in alphabetical order
  45. for (auto const& [key, val] : counts) {
  46. for (int i = 0; i < val; ++i) {
  47. result += key;
  48. }
  49. }
  50.  
  51. std::cout << result << std::endl;
  52. }
  53.  
  54. int main() {
  55. std::ios_base::sync_with_stdio(false);
  56. std::cin.tie(NULL);
  57. int t;
  58. std::cin >> t;
  59. while (t--) {
  60. solve();
  61. }
  62. return 0;
  63. }
Success #stdin #stdout 0.01s 5288KB
stdin
5
FFT
ABFBANTTA
FFTNTT
FFTFFTFFTNNTNNT
AFFTBFFNTTFTTZ
stdout
TFF
TTFNAAABB
TTTFFN
TTTTTFFFFFFNNNN
TTTTTFFFFFNABZ