import java.util.*;
public class Main {
private Map
<String, Integer
> poinKlub
;
public Main(List<String> daftarKlub) {
poinKlub = new HashMap<>();
for (String klub
: daftarKlub
) { poinKlub.put(klub, 0);
}
}
String[] skorSplit
= skor.
split(":"); int skorKandang
= Integer.
parseInt(skorSplit
[0]); int skorTandang
= Integer.
parseInt(skorSplit
[1]);
if (skorKandang > skorTandang) {
poinKlub.put(klubKandang, poinKlub.get(klubKandang) + 3);
} else if (skorKandang < skorTandang) {
poinKlub.put(klubTandang, poinKlub.get(klubTandang) + 3);
} else {
poinKlub.put(klubTandang, poinKlub.get(klubTandang) + 1);
poinKlub.put(klubKandang, poinKlub.get(klubKandang) + 1);
}
}
public Map
<String, Integer
> cetakKlasemen
() { List
<Map.
Entry<String, Integer
>> list
= new ArrayList
<>(poinKlub.
entrySet()); list.sort((a, b) -> b.getValue().compareTo(a.getValue()));
Map
<String, Integer
> hasil
= new LinkedHashMap
<>(); for (Map.
Entry<String, Integer
> entry
: list
) { hasil.put(entry.getKey(), entry.getValue());
}
return hasil;
}
public String ambilPeringkat
(int nomorPeringkat
) { Map
<String, Integer
> urutan
= cetakKlasemen
(); List<String> listNama = new ArrayList<>(urutan.keySet());
if (nomorPeringkat >= 1 && nomorPeringkat <= listNama.size()) {
return listNama.get(nomorPeringkat - 1);
}
return null;
}
public static void main
(String[] args
) { Main klasemen
= new Main
(Arrays.
asList("Liverpool",
"Chelsea",
"Arsenal")); klasemen.catatPermainan("Arsenal", "Liverpool", "2:1");
klasemen.catatPermainan("Arsenal", "Chelsea", "1:1");
klasemen.catatPermainan("Chelsea", "Arsenal", "0:3");
klasemen.catatPermainan("Chelsea", "Liverpool", "3:2");
klasemen.catatPermainan("Liverpool", "Arsenal", "2:2");
klasemen.catatPermainan("Liverpool", "Chelsea", "0:0");
System.
out.
println("Klasemen: " + klasemen.
cetakKlasemen()); System.
out.
println("Peringkat ke-2: " + klasemen.
ambilPeringkat(2)); }
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHJpdmF0ZSBNYXA8U3RyaW5nLCBJbnRlZ2VyPiBwb2luS2x1YjsKCiAgICBwdWJsaWMgTWFpbihMaXN0PFN0cmluZz4gZGFmdGFyS2x1YikgewogICAgICAgIHBvaW5LbHViID0gbmV3IEhhc2hNYXA8PigpOwogICAgICAgIGZvciAoU3RyaW5nIGtsdWIgOiBkYWZ0YXJLbHViKSB7CiAgICAgICAgICAgIHBvaW5LbHViLnB1dChrbHViLCAwKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHZvaWQgY2F0YXRQZXJtYWluYW4oU3RyaW5nIGtsdWJLYW5kYW5nLCBTdHJpbmcga2x1YlRhbmRhbmcsIFN0cmluZyBza29yKSB7CiAgICAgICAgU3RyaW5nW10gc2tvclNwbGl0ID0gc2tvci5zcGxpdCgiOiIpOwogICAgICAgIGludCBza29yS2FuZGFuZyA9IEludGVnZXIucGFyc2VJbnQoc2tvclNwbGl0WzBdKTsKICAgICAgICBpbnQgc2tvclRhbmRhbmcgPSBJbnRlZ2VyLnBhcnNlSW50KHNrb3JTcGxpdFsxXSk7CgogICAgICAgIGlmIChza29yS2FuZGFuZyA+IHNrb3JUYW5kYW5nKSB7CiAgICAgICAgICAgIHBvaW5LbHViLnB1dChrbHViS2FuZGFuZywgcG9pbktsdWIuZ2V0KGtsdWJLYW5kYW5nKSArIDMpOwogICAgICAgIH0gZWxzZSBpZiAoc2tvckthbmRhbmcgPCBza29yVGFuZGFuZykgewogICAgICAgICAgICBwb2luS2x1Yi5wdXQoa2x1YlRhbmRhbmcsIHBvaW5LbHViLmdldChrbHViVGFuZGFuZykgKyAzKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwb2luS2x1Yi5wdXQoa2x1YlRhbmRhbmcsIHBvaW5LbHViLmdldChrbHViVGFuZGFuZykgKyAxKTsKICAgICAgICAgICAgcG9pbktsdWIucHV0KGtsdWJLYW5kYW5nLCBwb2luS2x1Yi5nZXQoa2x1YkthbmRhbmcpICsgMSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBNYXA8U3RyaW5nLCBJbnRlZ2VyPiBjZXRha0tsYXNlbWVuKCkgewogICAgICAgIExpc3Q8TWFwLkVudHJ5PFN0cmluZywgSW50ZWdlcj4+IGxpc3QgPSBuZXcgQXJyYXlMaXN0PD4ocG9pbktsdWIuZW50cnlTZXQoKSk7CiAgICAgICAgbGlzdC5zb3J0KChhLCBiKSAtPiBiLmdldFZhbHVlKCkuY29tcGFyZVRvKGEuZ2V0VmFsdWUoKSkpOwoKICAgICAgICBNYXA8U3RyaW5nLCBJbnRlZ2VyPiBoYXNpbCA9IG5ldyBMaW5rZWRIYXNoTWFwPD4oKTsKICAgICAgICBmb3IgKE1hcC5FbnRyeTxTdHJpbmcsIEludGVnZXI+IGVudHJ5IDogbGlzdCkgewogICAgICAgICAgICBoYXNpbC5wdXQoZW50cnkuZ2V0S2V5KCksIGVudHJ5LmdldFZhbHVlKCkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGhhc2lsOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgYW1iaWxQZXJpbmdrYXQoaW50IG5vbW9yUGVyaW5na2F0KSB7CiAgICAgICAgTWFwPFN0cmluZywgSW50ZWdlcj4gdXJ1dGFuID0gY2V0YWtLbGFzZW1lbigpOwogICAgICAgIExpc3Q8U3RyaW5nPiBsaXN0TmFtYSA9IG5ldyBBcnJheUxpc3Q8Pih1cnV0YW4ua2V5U2V0KCkpOwogICAgICAgIGlmIChub21vclBlcmluZ2thdCA+PSAxICYmIG5vbW9yUGVyaW5na2F0IDw9IGxpc3ROYW1hLnNpemUoKSkgewogICAgICAgICAgICByZXR1cm4gbGlzdE5hbWEuZ2V0KG5vbW9yUGVyaW5na2F0IC0gMSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBNYWluIGtsYXNlbWVuID0gbmV3IE1haW4oQXJyYXlzLmFzTGlzdCgiTGl2ZXJwb29sIiwgIkNoZWxzZWEiLCAiQXJzZW5hbCIpKTsKICAgICAgICBrbGFzZW1lbi5jYXRhdFBlcm1haW5hbigiQXJzZW5hbCIsICJMaXZlcnBvb2wiLCAiMjoxIik7CiAgICAgICAga2xhc2VtZW4uY2F0YXRQZXJtYWluYW4oIkFyc2VuYWwiLCAiQ2hlbHNlYSIsICIxOjEiKTsKICAgICAgICBrbGFzZW1lbi5jYXRhdFBlcm1haW5hbigiQ2hlbHNlYSIsICJBcnNlbmFsIiwgIjA6MyIpOwogICAgICAgIGtsYXNlbWVuLmNhdGF0UGVybWFpbmFuKCJDaGVsc2VhIiwgIkxpdmVycG9vbCIsICIzOjIiKTsKICAgICAgICBrbGFzZW1lbi5jYXRhdFBlcm1haW5hbigiTGl2ZXJwb29sIiwgIkFyc2VuYWwiLCAiMjoyIik7CiAgICAgICAga2xhc2VtZW4uY2F0YXRQZXJtYWluYW4oIkxpdmVycG9vbCIsICJDaGVsc2VhIiwgIjA6MCIpOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIktsYXNlbWVuOiAiICsga2xhc2VtZW4uY2V0YWtLbGFzZW1lbigpKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBlcmluZ2thdCBrZS0yOiAiICsga2xhc2VtZW4uYW1iaWxQZXJpbmdrYXQoMikpOwogICAgfQp9Cg==