Tantangan saya sebelumnya, Mencetak teks tak terlihat cukup populer, kemungkinan karena sepele itu.
Namun mereka yang lebih jeli dari Anda mungkin telah memperhatikan bahwa Anda tidak benar-benar mencetak teks yang tidak terlihat, karena tidak mungkin untuk membaca apa yang diinput hanya diberikan output.
Jadi saya pikir bagaimana dengan nyata tantangan teks yang tak terlihat.
Diberikan string yang hanya terdiri dari karakter ASCII yang dapat dicetak ( 0x20-0x7E
), konversi setiap karakter menjadi karakter Unicode yang berbeda (dalam pengkodean UTF-8) yang bukan salah satu dari 95 karakter ASCII yang dapat dicetak (setiap karakter UTF-8 di luar 0x20-0x7E
kisaran)
Memasukkan
String karakter ASCII yang dapat dicetak, baik sebagai string atau array karakter / daftar
Keluaran
String input dengan setiap karakter diganti dengan karakter yang tidak dapat dicetak yang berbeda. Setiap karakter yang diberikan harus memiliki karakter yang tidak dapat dicetak yang sesuai yang tidak digunakan sebagai pengganti karakter lain.
Jika Anda tidak dapat mencetak karakter yang tidak dapat dicetak, Anda dapat menampilkan nilai karakter sebagai gantinya.
Sebagai contoh jika kode Anda menggantikan semua huruf kecil a
's dengan 0x01
, Anda tidak dapat menggunakan 0x01
sebagai substitusi untuk setiap karakter lain.
Kode Anda juga harus deterministik . Ini berarti bahwa jika, mengingat string Hello
, semua huruf kecil l
diganti dengan 0x03
, kode Anda juga harus mengganti semua huruf kecil l
dengan 0x03
string lainnya.
Testcases
Agak sulit untuk menulis testcases untuk tantangan ini, jadi saya hanya akan menunjukkan output sebagai daftar hexcodes
input -> output
"Hello" -> [0x01, 0x02, 0x03, 0x03, 0x04]
"Hi!" -> [0x01, 0x05, 0x06]
"" -> []
" H " -> [0x07, 0x07, 0x07, 0x01, 0x07, 0x07, 0x07]
"yo! " -> [0x08, 0x04, 0x06, 0x07]