Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.*;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import java.util.stream.Collectors;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- // String []line=scanner.nextLine().split(", +");
- List<String> namesOfParticipants = Arrays.stream(scanner.nextLine().split(", ")).collect(Collectors.toList());
- LinkedHashMap<String,Integer> namesToPrint= new LinkedHashMap<>();
- String input=scanner.nextLine();
- while (!input.equals("end of race")){
- StringBuilder name=new StringBuilder();
- int distance=0;
- for (int i = 0; i < input.length(); i++) {
- char current=input.charAt(i);
- if(Character.isLetter(current)){
- name.append(current);
- }else if(Character.isDigit(current)){
- distance+=current;
- }
- }
- if(namesOfParticipants.contains(name.toString())){
- if(!namesToPrint.containsKey(name.toString())){
- namesToPrint.put(name.toString(),distance);
- }else{
- // participants.put(name.toString(),participants.get(name.toString()) + digit);
- namesToPrint.put(name.toString(),namesToPrint.get(name.toString())+distance);
- }
- }
- input=scanner.nextLine();
- }
- //List<String>toPrint=new ArrayList<>();
- namesOfParticipants
- .stream()
- .sorted(Comparator.naturalOrder())
- .limit(3)
- // .forEach(names-> System.out.println(String.format(("1st place %s"),names)));;
- .collect(Collectors.toList());
- for (int i = 0; i < namesOfParticipants.size(); i++) {
- if(i==0){
- System.out.printf("1st place: %s",namesToPrint);
- }else if(i==1){
- System.out.printf("2nd place: %s",namesOfParticipants);
- }else if(i==2){
- System.out.printf("3rd place: %s", namesOfParticipants);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement