Advertisement
Guest User

17. Logs Aggregator

a guest
Sep 12th, 2015
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.41 KB | None | 0 0
  1. import java.util.Map;
  2. import java.util.Scanner;
  3. import java.util.TreeMap;
  4.  
  5. public class LogsAggregator {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.         int n = Integer.parseInt(scanner.nextLine());
  9.         Map<String, TreeMap<String, Integer>> logs = new TreeMap<>();
  10.  
  11.         for (int i = 0; i < n; i++) {
  12.             String[] inputAsArray = scanner.nextLine().split(" ");
  13.             String user = inputAsArray[1];
  14.             int duration = Integer.parseInt(inputAsArray[2]);
  15.             String ip = inputAsArray[0];
  16.  
  17.             if (!logs.containsKey(user)) {
  18.                 logs.put(user, new TreeMap<>());
  19.                 logs.get(user).put(ip, duration);
  20.             } else {
  21.                 if (!logs.get(user).containsKey(ip)) {
  22.                     logs.get(user).put(ip, duration);
  23.                 } else {
  24.                     int currentDuration = logs.get(user).get(ip);
  25.                     logs.get(user).put(ip, currentDuration + duration);
  26.                 }
  27.             }
  28.         }
  29.  
  30.         for (Map.Entry<String, TreeMap<String, Integer>> user : logs.entrySet()) {
  31.             int totalDuration = 0;
  32.  
  33.             for (Integer s : user.getValue().values()) {
  34.                 totalDuration += s;
  35.             }
  36.  
  37.             System.out.println(user.getKey() + ": " + totalDuration + " " + user.getValue().keySet());
  38.         }
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement