Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Scanner;
- public class OrdenacaoDePlacas {
- public static void radix(int exp,String[] numerosSplit) {
- int[] count = new int[10];
- for (int i = 0; i < numerosSplit.length; i++) {
- count[(Integer.parseInt(numerosSplit[i].substring(4, 8))/exp)%10]++;
- }
- for (int i = 1; i < count.length; i++) {
- count[i] += count[i- 1];
- }
- String[] resp = new String[numerosSplit.length];
- for (int i = numerosSplit.length - 1; i >= 0; i--) {
- resp[count[ (Integer.parseInt(numerosSplit[i].substring(4, 8))/exp)%10 ] - 1] = numerosSplit[i];
- count[ (Integer.parseInt(numerosSplit[i].substring(4, 8))/exp)%10 ]--;
- }
- for (int i = 0; i < resp.length; i++) {
- numerosSplit[i] = resp[i];
- }
- }
- private static int achaMaior(int[] v) {
- int maior = v[0];
- for (int i = 0; i < v.length; i++) {
- if(v[i] > maior) {
- maior = v[i];
- }
- }
- return maior;
- }
- public static void main(String[] args) {
- Scanner entrada = new Scanner(System.in);
- String numeros = entrada.nextLine();
- String[] numerosSplit = numeros.split(",");
- if(numerosSplit.length > 0) {
- int[] nums = new int[numerosSplit.length];
- for (int i = 0; i < nums.length; i++) {
- nums[i] = Integer.parseInt(numerosSplit[i].substring(4,8));
- }
- int maior = achaMaior(nums);
- for (int exp = 100; maior/exp > 0; exp *= 10) {
- radix(exp,numerosSplit);
- }
- String pprint = "";
- for (int i = 0; i < numerosSplit.length; i++) {
- pprint += numerosSplit[i] + ", ";
- }
- String ppprint = pprint.substring(0, pprint.length() - 2);
- System.out.println(ppprint);
- }}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement