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 splitdan 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 32masing-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 32untuk 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']]