// Author: Rodney Shaghoulian // Github: github.com/RodneyShag // HackerRank: hackerrank.com/RodneyShag import java.math.BigDecimal; import java.util.*; class Solution { public static void main(String []args) { //Input Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String [] s = new String[n+2]; for (int i = 0; i < n; i++) { s[i] = sc.next(); } sc.close(); // We want to sort in descending order while preserving the contents // of each String. A comparator can achieve this for us. We convert // to BigDecimal inside our comparator so that the change is not // permanent and our String's form for each number is preserved. Comparator customComparator = new Comparator() { @Override public int compare(String s1, String s2) { BigDecimal a = new BigDecimal(s1); BigDecimal b = new BigDecimal(s2); return b.compareTo(a); // descending order } }; Arrays.sort(s, 0, n, customComparator); //Output for (int i = 0; i < n; i++) { System.out.println(s[i]); } } }