# your code goes here
class Klasemen:
def __init__(self, daftarKlub:list[str]) -> None:
self.poinKlub = {klub: 0 for klub in daftarKlub}
def catatPermainan(self, klubKandang:str, klubTandang:str, skor:str) -> None:
skorKandang, skorTandang = map(int, skor.split(":"))
if skorKandang > skorTandang:
self.poinKlub[klubKandang] += 3
elif skorKandang < skorTandang:
self.poinKlub[klubTandang] += 3
else:
self.poinKlub[klubKandang] += 1
self.poinKlub[klubTandang] += 1
def cetakKlasemen(self) -> dict[str, int]:
sortedKlasemen = dict(sorted(self.poinKlub.items(), key=lambda x: x[1], reverse=True))
return sortedKlasemen
def ambilPeringkat(self, nomorPeringkat:int) -> str:
klubTerurut = list(self.cetakKlasemen())
if 1 <= nomorPeringkat <= len(klubTerurut):
return klubTerurut[nomorPeringkat - 1]
def main():
klasemen = Klasemen(['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')
print(klasemen.cetakKlasemen())
print(klasemen.ambilPeringkat(2))
if __name__ == "__main__":
main()
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCgpjbGFzcyBLbGFzZW1lbjoKCWRlZiBfX2luaXRfXyhzZWxmLCBkYWZ0YXJLbHViOmxpc3Rbc3RyXSkgLT4gTm9uZToKCQlzZWxmLnBvaW5LbHViID0ge2tsdWI6IDAgZm9yIGtsdWIgaW4gZGFmdGFyS2x1Yn0KCQoJZGVmIGNhdGF0UGVybWFpbmFuKHNlbGYsIGtsdWJLYW5kYW5nOnN0ciwga2x1YlRhbmRhbmc6c3RyLCBza29yOnN0cikgLT4gTm9uZToKCQlza29yS2FuZGFuZywgc2tvclRhbmRhbmcgPSBtYXAoaW50LCBza29yLnNwbGl0KCI6IikpCgkJaWYgc2tvckthbmRhbmcgPiBza29yVGFuZGFuZzoKCQkJc2VsZi5wb2luS2x1YltrbHViS2FuZGFuZ10gKz0gMwoJCWVsaWYgc2tvckthbmRhbmcgPCBza29yVGFuZGFuZzoKCQkJc2VsZi5wb2luS2x1YltrbHViVGFuZGFuZ10gKz0gMwoJCWVsc2U6CgkJCXNlbGYucG9pbktsdWJba2x1YkthbmRhbmddICs9IDEKCQkJc2VsZi5wb2luS2x1YltrbHViVGFuZGFuZ10gKz0gMQoJCglkZWYgY2V0YWtLbGFzZW1lbihzZWxmKSAtPiBkaWN0W3N0ciwgaW50XToKCQlzb3J0ZWRLbGFzZW1lbiA9IGRpY3Qoc29ydGVkKHNlbGYucG9pbktsdWIuaXRlbXMoKSwga2V5PWxhbWJkYSB4OiB4WzFdLCByZXZlcnNlPVRydWUpKQoJCXJldHVybiBzb3J0ZWRLbGFzZW1lbgoJCglkZWYgYW1iaWxQZXJpbmdrYXQoc2VsZiwgbm9tb3JQZXJpbmdrYXQ6aW50KSAtPiBzdHI6CgkJa2x1YlRlcnVydXQgPSBsaXN0KHNlbGYuY2V0YWtLbGFzZW1lbigpKQoJCWlmIDEgPD0gbm9tb3JQZXJpbmdrYXQgPD0gbGVuKGtsdWJUZXJ1cnV0KToKCQkJcmV0dXJuIGtsdWJUZXJ1cnV0W25vbW9yUGVyaW5na2F0IC0gMV0KCmRlZiBtYWluKCk6CglrbGFzZW1lbiA9IEtsYXNlbWVuKFsnTGl2ZXJwb29sJywgJ0NoZWxzZWEnLCAnQXJzZW5hbCddKQoJa2xhc2VtZW4uY2F0YXRQZXJtYWluYW4oJ0Fyc2VuYWwnLCAnTGl2ZXJwb29sJywgJzI6MScpCglrbGFzZW1lbi5jYXRhdFBlcm1haW5hbignQXJzZW5hbCcsICdDaGVsc2VhJywgJzE6MScpCglrbGFzZW1lbi5jYXRhdFBlcm1haW5hbignQ2hlbHNlYScsICdBcnNlbmFsJywgJzA6MycpCglrbGFzZW1lbi5jYXRhdFBlcm1haW5hbignQ2hlbHNlYScsICdMaXZlcnBvb2wnLCAnMzoyJykKCWtsYXNlbWVuLmNhdGF0UGVybWFpbmFuKCdMaXZlcnBvb2wnLCAnQXJzZW5hbCcsICcyOjInKQoJa2xhc2VtZW4uY2F0YXRQZXJtYWluYW4oJ0xpdmVycG9vbCcsICdDaGVsc2VhJywgJzA6MCcpCglwcmludChrbGFzZW1lbi5jZXRha0tsYXNlbWVuKCkpCglwcmludChrbGFzZW1lbi5hbWJpbFBlcmluZ2thdCgyKSkKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CgltYWluKCk=