Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import javafx.util.Pair;
- import javax.xml.crypto.dsig.keyinfo.KeyValue;
- import java.lang.reflect.Array;
- import java.security.KeyStore;
- import java.text.Collator;
- import java.text.DecimalFormat;
- import java.util.*;
- import java.util.function.Predicate;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import java.util.stream.Collector;
- import java.util.stream.Collectors;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- Map<String, Integer> likes = new LinkedHashMap<>();
- Map<String, Integer> comments = new LinkedHashMap<>();
- String input = "";
- while(!"Log out".equals(input = scanner.nextLine())){
- String[] tokens = input.split(": ");
- String command = tokens[0];
- String username = tokens[1];
- switch (command){
- case "New follower":
- likes.putIfAbsent(username, 0);
- comments.putIfAbsent(username, 0);
- break;
- case "Like":
- Integer likeCount = Integer.parseInt(tokens[2]);
- if(likes.containsKey(username)){
- likes.put(username, likes.get(username) + likeCount);
- }else{
- likes.put(username, likeCount);
- comments.put(username, 0);
- }
- break;
- case "Comment":
- if(comments.containsKey(username)){
- comments.put(username, comments.get(username) + 1);
- }else{
- comments.put(username, 1);
- likes.put(username, 0);
- }
- break;
- case "Blocked":
- if(comments.containsKey(username)){
- likes.remove(username);
- comments.remove(username);
- }
- break;
- }
- }
- System.out.println(likes.size() + " followers");
- likes.entrySet()
- .stream()
- .sorted((a, b) -> {
- int result = b.getValue().compareTo(a.getValue());
- if(result == 0){
- result = a.getKey().compareTo(b.getKey());
- }
- return result;
- }).forEach(user -> {
- System.out.printf("%s: %d\n",
- user.getKey(),
- user.getValue() + comments.get(user.getKey()));
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement