Advertisement
IrinaIgnatova

RegEx - Race

Jul 25th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.24 KB | None | 0 0
  1. package com.company;
  2.  
  3.  
  4. import java.util.*;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7. import java.util.stream.Collectors;
  8.  
  9. public class Main {
  10.  
  11.     public static void main(String[] args) {
  12.  
  13.         Scanner scanner = new Scanner(System.in);
  14.  
  15.        // String []line=scanner.nextLine().split(", +");
  16.         List<String> namesOfParticipants = Arrays.stream(scanner.nextLine().split(", ")).collect(Collectors.toList());
  17.  
  18.       LinkedHashMap<String,Integer> namesToPrint= new LinkedHashMap<>();
  19.         String input=scanner.nextLine();
  20.  
  21.  
  22.  
  23.         while (!input.equals("end of race")){
  24.             StringBuilder name=new StringBuilder();
  25.             int distance=0;
  26.             for (int i = 0; i < input.length(); i++) {
  27.                 char current=input.charAt(i);
  28.                 if(Character.isLetter(current)){
  29.                     name.append(current);
  30.  
  31.                 }else if(Character.isDigit(current)){
  32.                     distance+=current;
  33.                 }
  34.             }
  35.             if(namesOfParticipants.contains(name.toString())){
  36.                 if(!namesToPrint.containsKey(name.toString())){
  37.                     namesToPrint.put(name.toString(),distance);
  38.                 }else{
  39.                    // participants.put(name.toString(),participants.get(name.toString()) + digit);
  40.                     namesToPrint.put(name.toString(),namesToPrint.get(name.toString())+distance);
  41.                 }
  42.  
  43.             }
  44.  
  45.             input=scanner.nextLine();
  46.  
  47.  
  48.  
  49.             }
  50.  
  51. //List<String>toPrint=new ArrayList<>();
  52.         namesOfParticipants
  53.                 .stream()
  54.                 .sorted(Comparator.naturalOrder())
  55.                 .limit(3)
  56. //                .forEach(names-> System.out.println(String.format(("1st place %s"),names)));;
  57.                 .collect(Collectors.toList());
  58.         for (int i = 0; i < namesOfParticipants.size(); i++) {
  59.             if(i==0){
  60.                 System.out.printf("1st place: %s",namesToPrint);
  61.             }else if(i==1){
  62.                 System.out.printf("2nd place: %s",namesOfParticipants);
  63.             }else if(i==2){
  64.                 System.out.printf("3rd place: %s", namesOfParticipants);
  65.             }
  66.         }
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.     }
  74.  
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement