class Kamus:
def __init__(self):
self.data = {}
def tambah(self, kata: str, sinonim_list: list[str]) -> None:
if kata not in self.data:
self.data[kata] = []
for sinonim in sinonim_list:
if sinonim not in self.data[kata]:
self.data[kata].append(sinonim)
def ambil_sinonim(self, kata: str):
if kata in self.data:
return self.data[kata]
for k, sinonim_list in self.data.items():
if kata in sinonim_list:
return [k]
return None
# Contoh Penggunaan
kamus = Kamus()
kamus.tambah('big', ['large', 'great'])
kamus.tambah('big', ['huge', 'fat'])
kamus.tambah('huge', ['enormous', 'gigantic'])
print(kamus.ambil_sinonim('big')) # ['large', 'great', 'huge', 'fat']
print(kamus.ambil_sinonim('huge')) # ['enormous', 'gigantic']
print(kamus.ambil_sinonim('gigantic')) # ['huge']
print(kamus.ambil_sinonim('colossal')) # None# your code goes here
Y2xhc3MgS2FtdXM6CiAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgc2VsZi5kYXRhID0ge30KCiAgICBkZWYgdGFtYmFoKHNlbGYsIGthdGE6IHN0ciwgc2lub25pbV9saXN0OiBsaXN0W3N0cl0pIC0+IE5vbmU6CiAgICAgICAgaWYga2F0YSBub3QgaW4gc2VsZi5kYXRhOgogICAgICAgICAgICBzZWxmLmRhdGFba2F0YV0gPSBbXQoKICAgICAgICBmb3Igc2lub25pbSBpbiBzaW5vbmltX2xpc3Q6CiAgICAgICAgICAgIGlmIHNpbm9uaW0gbm90IGluIHNlbGYuZGF0YVtrYXRhXToKICAgICAgICAgICAgICAgIHNlbGYuZGF0YVtrYXRhXS5hcHBlbmQoc2lub25pbSkKCiAgICBkZWYgYW1iaWxfc2lub25pbShzZWxmLCBrYXRhOiBzdHIpOgogICAgICAgIGlmIGthdGEgaW4gc2VsZi5kYXRhOgogICAgICAgICAgICByZXR1cm4gc2VsZi5kYXRhW2thdGFdCgogICAgICAgIGZvciBrLCBzaW5vbmltX2xpc3QgaW4gc2VsZi5kYXRhLml0ZW1zKCk6CiAgICAgICAgICAgIGlmIGthdGEgaW4gc2lub25pbV9saXN0OgogICAgICAgICAgICAgICAgcmV0dXJuIFtrXQoKICAgICAgICByZXR1cm4gTm9uZQoKCiMgQ29udG9oIFBlbmdndW5hYW4Ka2FtdXMgPSBLYW11cygpCmthbXVzLnRhbWJhaCgnYmlnJywgWydsYXJnZScsICdncmVhdCddKQprYW11cy50YW1iYWgoJ2JpZycsIFsnaHVnZScsICdmYXQnXSkKa2FtdXMudGFtYmFoKCdodWdlJywgWydlbm9ybW91cycsICdnaWdhbnRpYyddKQoKcHJpbnQoa2FtdXMuYW1iaWxfc2lub25pbSgnYmlnJykpICAgICAgICMgWydsYXJnZScsICdncmVhdCcsICdodWdlJywgJ2ZhdCddCnByaW50KGthbXVzLmFtYmlsX3Npbm9uaW0oJ2h1Z2UnKSkgICAgICAjIFsnZW5vcm1vdXMnLCAnZ2lnYW50aWMnXQpwcmludChrYW11cy5hbWJpbF9zaW5vbmltKCdnaWdhbnRpYycpKSAgIyBbJ2h1Z2UnXQpwcmludChrYW11cy5hbWJpbF9zaW5vbmltKCdjb2xvc3NhbCcpKSAgIyBOb25lIyB5b3VyIGNvZGUgZ29lcyBoZXJl