<?php
class Klasemen {
private $peringkat = [];
function __construct
(array $listKlub) { foreach ($listKlub as $klub) {
$this->peringkat[$klub] = 0;
}
}
function catatPermainan($klubKandang, $klubTandang, $skor){
if (!isset($this->peringkat[$klubKandang])) { $this->peringkat[$klubKandang] = 0;
}
if (!isset($this->peringkat[$klubTandang])) { $this->peringkat[$klubTandang] = 0;
}
$skorKandang = (int) $skorParts[0];
$skorTandang = (int) $skorParts[1];
if ($skorKandang > $skorTandang) {
$this->peringkat[$klubKandang] += 3;
} elseif ($skorTandang > $skorKandang) {
$this->peringkat[$klubTandang] += 3;
} else {
$this->peringkat[$klubKandang] += 1;
$this->peringkat[$klubTandang] += 1;
}
}
public function cetakKlasemen
(): array { $peringkatan = $this->peringkat;
return $peringkatan;
}
public function ambilPeringkat($nomorPeringkat){
$peringkatan = $this->cetakKlasemen();
$index = $nomorPeringkat - 1;
return $clubs[$index] ?? "Peringkat tidak valid.";
}
}
$listKlub = explode(',', $klubLine);
$klasemen = new Klasemen($listKlub);
for ($i = 0; $i < $jumlah; $i++) {
[$kandang, $tandang, $skor] = explode(',', $line); $klasemen->catatPermainan($kandang, $tandang, $skor);
}
$hasil = $klasemen->cetakKlasemen();
foreach ($hasil as $klub => $poin) {
echo "$klub: $poin\n";
}
echo "Juara $peringkat: " . $klasemen->ambilPeringkat($peringkat);
print_r($klasemen->cetakKlasemen());
PD9waHAKCmNsYXNzIEtsYXNlbWVuIHsKICAgIHByaXZhdGUgJHBlcmluZ2thdCA9IFtdOwoKICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRsaXN0S2x1YikgewogICAgICAgIGZvcmVhY2ggKCRsaXN0S2x1YiBhcyAka2x1YikgewogICAgICAgICAgICAkdGhpcy0+cGVyaW5na2F0WyRrbHViXSA9IDA7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGNhdGF0UGVybWFpbmFuKCRrbHViS2FuZGFuZywgJGtsdWJUYW5kYW5nLCAkc2tvcil7CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+cGVyaW5na2F0WyRrbHViS2FuZGFuZ10pKSB7CiAgICAgICAgICAgICR0aGlzLT5wZXJpbmdrYXRbJGtsdWJLYW5kYW5nXSA9IDA7CiAgICAgICAgfQogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPnBlcmluZ2thdFska2x1YlRhbmRhbmddKSkgewogICAgICAgICAgICAkdGhpcy0+cGVyaW5na2F0WyRrbHViVGFuZGFuZ10gPSAwOwogICAgICAgIH0KCiAgICAgICAgJHNrb3JQYXJ0cyA9IGV4cGxvZGUoJzonLCAkc2tvcik7CiAgICAgICAgJHNrb3JLYW5kYW5nID0gKGludCkgJHNrb3JQYXJ0c1swXTsKICAgICAgICAkc2tvclRhbmRhbmcgPSAoaW50KSAkc2tvclBhcnRzWzFdOwoKICAgICAgICBpZiAoJHNrb3JLYW5kYW5nID4gJHNrb3JUYW5kYW5nKSB7CiAgICAgICAgICAgICR0aGlzLT5wZXJpbmdrYXRbJGtsdWJLYW5kYW5nXSArPSAzOwogICAgICAgIH0gZWxzZWlmICgkc2tvclRhbmRhbmcgPiAkc2tvckthbmRhbmcpIHsKICAgICAgICAgICAgJHRoaXMtPnBlcmluZ2thdFska2x1YlRhbmRhbmddICs9IDM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPnBlcmluZ2thdFska2x1YkthbmRhbmddICs9IDE7CiAgICAgICAgICAgICR0aGlzLT5wZXJpbmdrYXRbJGtsdWJUYW5kYW5nXSArPSAxOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2V0YWtLbGFzZW1lbigpOiBhcnJheSB7CiAgICAgICAgJHBlcmluZ2thdGFuID0gJHRoaXMtPnBlcmluZ2thdDsKICAgICAgICBhcnNvcnQoJHBlcmluZ2thdGFuKTsKICAgICAgICByZXR1cm4gJHBlcmluZ2thdGFuOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbWJpbFBlcmluZ2thdCgkbm9tb3JQZXJpbmdrYXQpewogICAgICAgICRwZXJpbmdrYXRhbiA9ICR0aGlzLT5jZXRha0tsYXNlbWVuKCk7CiAgICAgICAgJGNsdWJzID0gYXJyYXlfa2V5cygkcGVyaW5na2F0YW4pOwogICAgICAgICRpbmRleCA9ICRub21vclBlcmluZ2thdCAtIDE7CiAgICAgICAgcmV0dXJuICRjbHVic1skaW5kZXhdID8/ICJQZXJpbmdrYXQgdGlkYWsgdmFsaWQuIjsKICAgIH0KfQoKCiRrbHViTGluZSA9IHRyaW0oZmdldHMoU1RESU4pKTsKJGxpc3RLbHViID0gZXhwbG9kZSgnLCcsICRrbHViTGluZSk7CgoKJGtsYXNlbWVuID0gbmV3IEtsYXNlbWVuKCRsaXN0S2x1Yik7CgokanVtbGFoID0gKGludCkgdHJpbShmZ2V0cyhTVERJTikpOwoKZm9yICgkaSA9IDA7ICRpIDwgJGp1bWxhaDsgJGkrKykgewogICAgJGxpbmUgPSB0cmltKGZnZXRzKFNURElOKSk7IAogICAgWyRrYW5kYW5nLCAkdGFuZGFuZywgJHNrb3JdID0gZXhwbG9kZSgnLCcsICRsaW5lKTsKICAgICRrbGFzZW1lbi0+Y2F0YXRQZXJtYWluYW4oJGthbmRhbmcsICR0YW5kYW5nLCAkc2tvcik7Cn0KCgokaGFzaWwgPSAka2xhc2VtZW4tPmNldGFrS2xhc2VtZW4oKTsKZm9yZWFjaCAoJGhhc2lsIGFzICRrbHViID0+ICRwb2luKSB7CiAgICBlY2hvICIka2x1YjogJHBvaW5cbiI7Cn0KCiRwZXJpbmdrYXQgPSAoaW50KSB0cmltKGZnZXRzKFNURElOKSk7CmVjaG8gIkp1YXJhICRwZXJpbmdrYXQ6ICIgLiAka2xhc2VtZW4tPmFtYmlsUGVyaW5na2F0KCRwZXJpbmdrYXQpOwpwcmludF9yKCRrbGFzZW1lbi0+Y2V0YWtLbGFzZW1lbigpKTs=
QXJlbWEsUGVyc2liLFBlcnNpamEKMwpBcmVtYSxQZXJzaWIsMjoxClBlcnNpYixQZXJzaWphLDE6NApBcmVtYSxQZXJzaWphLDA6Mwox
Arema,Persib,Persija
3
Arema,Persib,2:1
Persib,Persija,1:4
Arema,Persija,0:3
1