fork download
  1. # your code goes here# void catatPermainan(string klubKandang, string klubTandang, string skor);
  2. # array cetakKlasemen();
  3. # string ambilPeringkat(int nomorPeringkat);
  4.  
  5.  
  6. # $klasemen = new Klasemen(['Liverpool', 'Chelsea', 'Arsenal']);
  7. # $klasemen>catatPermainan('Arsenal', 'Liverpool', '2:1');
  8. # $klasemen>catatPermainan('Arsenal', 'Chelsea', '1:1');
  9. # $klasemen>catatPermainan('Chelsea', 'Arsenal', '0:3');
  10. # $klasemen>catatPermainan('Chelsea', 'Liverpool', '3:2');
  11. # $klasemen>catatPermainan('Liverpool', 'Arsenal', '2:2');
  12. # $klasemen>catatPermainan('Liverpool', 'Chelsea', '0:0');
  13. # // mengembalikan hasil ['Arsenal'=>8, 'Chelsea'=>5, 'Liverpool'=>2]
  14. # $klasemen>cetakKlasemen();
  15. # // returns 'Chelsea'
  16. # $klasemen>ambilPeringkat(2);
  17.  
  18. #Ini Logic
  19.  
  20. class Klasemen:
  21. def __init__(self, klub):
  22. self.poin = {nama: 0 for nama in klub}
  23.  
  24. def catatPermainan(self, kandang, tandang, skor):
  25. gol_kandang, gol_tandang = map(int, skor.split(':'))
  26. if gol_kandang > gol_tandang:
  27. self.poin[kandang] += 3
  28. elif gol_kandang < gol_tandang:
  29. self.poin[tandang] += 3
  30. else:
  31. self.poin[kandang] += 1
  32. self.poin[tandang] += 1
  33.  
  34. def cetakKlasemen(self):
  35. return dict(sorted(self.poin.items(), key=lambda x: (-x[1], x[0])))
  36.  
  37. def ambilPeringkat(self, peringkat):
  38. return list(self.cetakKlasemen().keys())[peringkat - 1]
  39.  
  40.  
  41.  
  42. klasemen = Klasemen(['Liverpool', 'Chelsea', 'Arsenal'])
  43.  
  44. klasemen.catatPermainan('Arsenal', 'Liverpool', '2:1')
  45. klasemen.catatPermainan('Arsenal', 'Chelsea', '1:1')
  46. klasemen.catatPermainan('Chelsea', 'Arsenal', '0:3')
  47. klasemen.catatPermainan('Chelsea', 'Liverpool', '3:2')
  48. klasemen.catatPermainan('Liverpool', 'Arsenal', '2:2')
  49. klasemen.catatPermainan('Liverpool', 'Chelsea', '0:0')
  50.  
  51. print(klasemen.cetakKlasemen())
  52.  
  53. print(klasemen.ambilPeringkat(2))
Success #stdin #stdout 0.02s 7244KB
stdin
Standard input is empty
stdout
{'Liverpool': 2, 'Chelsea': 5, 'Arsenal': 8}
Chelsea