public class Solution {
public static void main(String[] args) throws IOException {
ArrayList<String> lastName = new ArrayList<>();
TreeMap<String, Double> human = new TreeMap<>();
Double max = Double.MIN_VALUE;
Double current = 0.0;
Double old = 0.0;
String name = "";
BufferedReader reader = new BufferedReader(new FileReader(args[0]));
while (reader.ready()) {
String[] data = reader.readLine().split(" ");
current = Double.parseDouble(data[1]);
if (human.containsKey(data[0])) {
old = human.get(data[0]);
human.put(data[0], old + current);
} else {
human.put(data[0], Double.parseDouble(data[1]));
}
}
for (Map.Entry<String, Double> pair : human.entrySet()) {
if (pair.getValue() >= max) {
max = pair.getValue();
name = pair.getKey();
lastName.add(name);
}
}
Collections.sort(lastName);
for (String output : lastName) {
System.out.println(output);
}
reader.close();
}
}
package com.javarush.task.task19.task1920;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
// Π ΠΌΠ΅ΡΠΎΠ΄ main ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°.
// Π ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
// ΠΈΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
// Π³Π΄Π΅ [ΠΈΠΌΡ] - String, [Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅] - double. [ΠΈΠΌΡ] ΠΈ [Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅] ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ.
//
// ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ
Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
// ΠΡΠ²Π΅ΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈΠΌΠ΅Π½Π° Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Ρ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ°.
// ΠΠΌΠ΅Π½Π° ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ Π»ΠΈΠ±ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
// ΠΠ°ΠΊΡΡΡΡ ΠΏΠΎΡΠΎΠΊΠΈ.
//
// ΠΡΠΈΠΌΠ΅Ρ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
// ΠΠ΅ΡΡΠΎΠ² 0.501
// ΠΠ²Π°Π½ΠΎΠ² 1.35
// ΠΠ΅ΡΡΠΎΠ² 0.85
//
// ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π°:
// ΠΠ΅ΡΡΠΎΠ²
//
// Requirements:
// 1. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΠ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
// 2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ FileReader).
// 3. ΠΠΎΡΠΎΠΊ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° (FileReader) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΊΡΡΡ.
// 4. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈΠΌΠ΅Π½Π°, Ρ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ°.
public class Solution {
public static void main(String[] args) throws IOException {
ArrayList<String> lastName = new ArrayList<>();
TreeMap<String, Double> human = new TreeMap<>();
Double max = Double.MIN_VALUE;
Double current = 0.0;
Double old = 0.0;
String name = "";
BufferedReader reader = new BufferedReader(new FileReader(args[0]));
while (reader.ready()) {
String[] data = reader.readLine().split(" ");
current = Double.parseDouble(data[1]);
if (human.containsKey(data[0])){
old = human.get(data[0]);
human.put(data[0], old + current);
} else {
human.put(data[0], Double.parseDouble(data[1]));
}
}
// Π²ΡΠ²Π΅Π΄Π΅ΠΌ human
for (Map.Entry<String, Double> pair : human.entrySet()) {
System.out.println(pair.getKey() + " " + pair.getValue());
}
for (Map.Entry<String, Double> pair : human.entrySet()) {
if (pair.getValue() >= max) {
max = pair.getValue();
name = pair.getKey();
lastName.add(name);
}
}
Collections.sort(lastName);
for (String output : lastName) {
System.out.println(output);
}
reader.close();
}
}