Terinspirasi oleh tantangan ini (terima kasih @cairdcoinheringaahing untuk judulnya!), Tugas Anda adalah mengambil dua string ASCII yang dapat dicetak dan melipatgandakannya berdasarkan elemen dengan aturan berikut.
Bagaimana cara kerjanya?
Diberikan dua string (misalnya split
dan isbn
) Anda akan pertama-tama, memotong yang lebih panjang sehingga mereka memiliki panjang yang sama dan kemudian menentukan kode ASCII mereka :
split -> spli -> [115, 112, 108, 105]
isbn -> isbn -> [105, 115, 98, 110]
Langkah selanjutnya adalah memetakannya ke kisaran [0..94]
dengan mengurangi 32
masing-masing kode:
[115, 112, 108, 105] -> [83, 80, 76, 73]
[105, 115, 98, 110] -> [73, 83, 66, 78]
Sekarang Anda akan melipatgandakan modulo elemen-bijaksana mereka 95
(untuk tetap dalam kisaran yang dapat dicetak):
[83, 80, 76, 73] ⊗ [73, 83, 66, 78] -> [74, 85, 76, 89]
Tambahkan 32
untuk kembali ke rentang [32..126]
:
[74, 85, 76, 89] -> [106, 117, 108, 121]
Dan langkah terakhir adalah memetakannya kembali ke karakter ASCII:
[106, 117, 108, 121] -> "july"
Aturan
- Anda akan menulis program / fungsi yang mengimplementasikan langkah-langkah yang dijelaskan pada dua string dan mencetak atau mengembalikan string yang dihasilkan
- Format input fleksibel: Anda dapat mengambil dua string, tupel string, daftar string, dll.
- Input dapat terdiri dari satu atau dua string kosong
- Input akan berupa karakter dalam rentang yang dapat dicetak (
[32..126]
) - Outputnya dicetak ke konsol atau Anda mengembalikan string
- Outputnya dibolehkan memiliki spasi spasi tambahan
Uji kasus
"isbn", "split" -> "july"
"", "" -> ""
"", "I don't matter" -> ""
" ", "Me neither :(" -> " "
"but I do!", "!!!!!!!!!" -> "but I do!"
'quotes', '""""""' -> 'ck_iKg'
"wood", "hungry" -> "yarn"
"tray", "gzip" -> "jazz"
"industry", "bond" -> "drop"
"public", "toll" -> "fall"
"roll", "dublin" -> "ball"
"GX!", "GX!" -> "!!!"
"4 lll 4", "4 lll 4" -> "4 lll 4"
"M>>M", "M>>M" -> ">MM>"
Catatan : Kutipan hanya untuk keterbacaan, dalam test case ke-6 saya menggunakan '
sebagai ganti "
.
abc, def -> [['a', 'b', 'c'], ['d', 'e', 'f']]