<?php
class Klasemen {
private $poin = [];
public function __construct($daftarKlub) {
foreach ($daftarKlub as $klub) {
$this->poin[$klub] = 0;
}
}
public function catatPermainan($klubKandang, $klubTandang, $skor) {
$golKandang = (int)$golKandang;
$golTandang = (int)$golTandang;
if ($golKandang > $golTandang) {
$this->poin[$klubKandang] += 3;
} elseif ($golKandang < $golTandang) {
$this->poin[$klubTandang] += 3;
} else {
$this->poin[$klubKandang] += 1;
$this->poin[$klubTandang] += 1;
}
}
public function cetakKlasemen() {
$klasemen = $this->poin;
return $klasemen;
}
public function ambilPeringkat($nomorPeringkat) {
$klasemen = $this->cetakKlasemen();
if ($nomorPeringkat >= 1 && $nomorPeringkat <= count($klub)) { return $klub[$nomorPeringkat - 1];
}
return null;
}
}
$klasemen = new Klasemen($klubList);
while ($line = fgets(STDIN
)) { if ($line === '') continue;
// Format: KlubA-KlubB Skor
$klasemen->catatPermainan($kandang, $tandang, $skor);
}
print_r($klasemen->cetakKlasemen()); echo "Peringkat ke-2: " . $klasemen->ambilPeringkat(2) . "\n";
PD9waHAKCmNsYXNzIEtsYXNlbWVuIHsKICAgIHByaXZhdGUgJHBvaW4gPSBbXTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGRhZnRhcktsdWIpIHsKICAgICAgICBmb3JlYWNoICgkZGFmdGFyS2x1YiBhcyAka2x1YikgewogICAgICAgICAgICAkdGhpcy0+cG9pblska2x1Yl0gPSAwOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2F0YXRQZXJtYWluYW4oJGtsdWJLYW5kYW5nLCAka2x1YlRhbmRhbmcsICRza29yKSB7CiAgICAgICAgbGlzdCgkZ29sS2FuZGFuZywgJGdvbFRhbmRhbmcpID0gZXhwbG9kZSgnOicsICRza29yKTsKICAgICAgICAkZ29sS2FuZGFuZyA9IChpbnQpJGdvbEthbmRhbmc7CiAgICAgICAgJGdvbFRhbmRhbmcgPSAoaW50KSRnb2xUYW5kYW5nOwoKICAgICAgICBpZiAoJGdvbEthbmRhbmcgPiAkZ29sVGFuZGFuZykgewogICAgICAgICAgICAkdGhpcy0+cG9pblska2x1YkthbmRhbmddICs9IDM7CiAgICAgICAgfSBlbHNlaWYgKCRnb2xLYW5kYW5nIDwgJGdvbFRhbmRhbmcpIHsKICAgICAgICAgICAgJHRoaXMtPnBvaW5bJGtsdWJUYW5kYW5nXSArPSAzOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5wb2luWyRrbHViS2FuZGFuZ10gKz0gMTsKICAgICAgICAgICAgJHRoaXMtPnBvaW5bJGtsdWJUYW5kYW5nXSArPSAxOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2V0YWtLbGFzZW1lbigpIHsKICAgICAgICAka2xhc2VtZW4gPSAkdGhpcy0+cG9pbjsKICAgICAgICBhcnNvcnQoJGtsYXNlbWVuKTsKICAgICAgICByZXR1cm4gJGtsYXNlbWVuOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbWJpbFBlcmluZ2thdCgkbm9tb3JQZXJpbmdrYXQpIHsKICAgICAgICAka2xhc2VtZW4gPSAkdGhpcy0+Y2V0YWtLbGFzZW1lbigpOwogICAgICAgICRrbHViID0gYXJyYXlfa2V5cygka2xhc2VtZW4pOwogICAgICAgIGlmICgkbm9tb3JQZXJpbmdrYXQgPj0gMSAmJiAkbm9tb3JQZXJpbmdrYXQgPD0gY291bnQoJGtsdWIpKSB7CiAgICAgICAgICAgIHJldHVybiAka2x1Ylskbm9tb3JQZXJpbmdrYXQgLSAxXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0KCiRrbHViTGlzdCA9IGV4cGxvZGUoJywnLCB0cmltKGZnZXRzKFNURElOKSkpOwoka2xhc2VtZW4gPSBuZXcgS2xhc2VtZW4oJGtsdWJMaXN0KTsKCndoaWxlICgkbGluZSA9IGZnZXRzKFNURElOKSkgewogICAgJGxpbmUgPSB0cmltKCRsaW5lKTsKICAgIGlmICgkbGluZSA9PT0gJycpIGNvbnRpbnVlOwogICAgLy8gRm9ybWF0OiBLbHViQS1LbHViQiBTa29yCiAgICBsaXN0KCR0aW0sICRza29yKSA9IGV4cGxvZGUoJyAnLCAkbGluZSk7CiAgICBsaXN0KCRrYW5kYW5nLCAkdGFuZGFuZykgPSBleHBsb2RlKCctJywgJHRpbSk7CiAgICAka2xhc2VtZW4tPmNhdGF0UGVybWFpbmFuKCRrYW5kYW5nLCAkdGFuZGFuZywgJHNrb3IpOwp9CgpwcmludF9yKCRrbGFzZW1lbi0+Y2V0YWtLbGFzZW1lbigpKTsKZWNobyAiUGVyaW5na2F0IGtlLTI6ICIgLiAka2xhc2VtZW4tPmFtYmlsUGVyaW5na2F0KDIpIC4gIlxuIjsK
TGl2ZXJwb29sLCBDaGVsc2VhLCBBcnNlbmFsCkFyc2VuYWwtTGl2ZXJwb29sIDI6MgpBcnNlbmFsLUNoZWxzZWEgMTo5CkNoZWxzZWEtQXJzZW5hbCA5OjYKQ2hlbHNlYS1MaXZlcnBvb2wgOTo0CkxpdmVycG9vbC1BcnNlbmFsIDI6MgpMaXZlcnBvb2wtQ2hlbHNlYSAwOjEK
Liverpool, Chelsea, Arsenal
Arsenal-Liverpool 2:2
Arsenal-Chelsea 1:9
Chelsea-Arsenal 9:6
Chelsea-Liverpool 9:4
Liverpool-Arsenal 2:2
Liverpool-Chelsea 0:1