fork download
  1. import java.util.*;
  2.  
  3. /**
  4.  * To take input integers and
  5.  * output largest and smallest integer possible
  6.  * by concatenating them
  7.  *
  8.  * Created on 5/9/2017.
  9.  */
  10.  
  11. class concatInts {
  12.  
  13. public static void main (String args[]) {
  14. Scanner in = new Scanner(System.in);
  15.  
  16. //because 3 challenge inputs
  17. for (int i = 0; i < 3; i++) {
  18. String input = in.nextLine();
  19. logic(input);
  20. }
  21. }
  22. static void logic (String input) {
  23. StringBuilder max = new StringBuilder(""),
  24. min = new StringBuilder("");
  25.  
  26. //split to list
  27. ArrayList<String> integers = new ArrayList<>(
  28. Arrays.asList( input.split(" ") )
  29. );
  30.  
  31. //sorts the numbers
  32. integers.sort( (String s1, String s2) -> {
  33. int len1 = s1.length(), len2 = s2.length();
  34. for (int i=0; i<len1 || i<len2; i++) {
  35. if ( s1.charAt(i % len1) > s2.charAt(i % len2) )
  36. return 1;
  37. else if ( s1.charAt(i % len1) < s2.charAt(i % len2) )
  38. return -1;
  39. }
  40. return 0;
  41. });
  42.  
  43. //build maximum and minimum
  44. for(String s : integers){
  45. int n = Integer.parseInt(s);
  46. min.append(n);
  47. max.insert(0, n);
  48. }
  49.  
  50. System.out.println(min + " " + max);
  51. }
  52. }
Success #stdin #stdout 0.15s 4386816KB
stdin
79 82 34 83 69
420 34 19 71 341
17 32 91 7 46
stdout
3469798283 8382796934
193413442071 714203434119
173246791 917463217