Advertisement
Krassi_Daskalova

Race1

Jul 25th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. package SecondTry;
  2.  
  3. import java.util.*;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6. import java.util.stream.Collectors;
  7.  
  8. public class Race1 {
  9. public static void main(String[] args) {
  10. Scanner scanner = new Scanner(System.in);
  11. List <String> names = Arrays.stream(scanner.nextLine().split(", ")).collect(Collectors.toList());
  12. // List <String> racers = new ArrayList<>();
  13. Map<String,Integer> listOfRacers = new LinkedHashMap<>();
  14.  
  15. String input = "";
  16. while(!"end of race".equals(input= scanner.nextLine())){
  17. String regex = "[A-Za-z]";
  18. Pattern pattern = Pattern.compile(regex);
  19. Matcher macher = pattern.matcher(input);
  20. String racerName = "";
  21.  
  22. while(macher.find()){
  23. racerName+= macher.group();
  24. }
  25. if(names.contains(racerName)) {
  26. listOfRacers.putIfAbsent(racerName, 0);
  27.  
  28. String regexNum = "[\\d]";
  29. Pattern pattern1 = Pattern.compile(regexNum);
  30. macher = pattern1.matcher(input);
  31. int speed = 0;
  32. while (macher.find()) {
  33.  
  34. speed += Integer.parseInt(macher.group());
  35. }
  36.  
  37. listOfRacers.put(racerName,listOfRacers.get(racerName)+speed);
  38. }
  39. }
  40.  
  41. List<String> sortedNames = listOfRacers.keySet().stream()
  42. .sorted(Comparator.comparing(listOfRacers::get, Comparator.reverseOrder()))
  43. .collect(Collectors.toList());
  44.  
  45.  
  46. System.out.println("1st place: " + sortedNames.get(0));
  47. System.out.println("2nd place: " + sortedNames.get(1));
  48. System.out.println("3rd place: " + sortedNames.get(2));
  49.  
  50.  
  51.  
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement