Tantangan
Tantangannya adalah mengenkripsi string yang diberikan, menggunakan aturan seperti yang ditentukan di bawah ini. String hanya akan berisi huruf kecil , digit , dan / atau spasi kosong .
Setara dengan Karakter
Sekarang, pertama Anda perlu tahu bagaimana menemukan "setara" dari setiap karakter.
Jika karakternya adalah konsonan, ini adalah cara untuk menemukan itu setara:
1) List all the consonants in alphabetical order
b c d f g h j k l m n p q r s t v w x y z
2) Get the position of the consonant you are finding the equivalent of.
3) The equivalent is the consonant at that position when starting from the end.
misalnya: 'h' dan 't' adalah setara satu sama lain karena 'h', 't' berada di posisi ke-6 dari awal dan akhir masing-masing.
Prosedur yang sama diikuti untuk menemukan padanan vokal / digit. Anda mencantumkan semua vokal atau digit (mulai dari 0) secara berurutan dan menemukan yang setara.
Diberikan di bawah ini adalah daftar yang setara dari semua karakter:
b <-> z
c <-> y
d <-> x
f <-> w
g <-> v
h <-> t
j <-> s
k <-> r
l <-> q
m <-> p
n <-> n
a <-> u
e <-> o
i <-> i
0 <-> 9
1 <-> 8
2 <-> 7
3 <-> 6
4 <-> 5
Aturan Enkripsi
1) Anda mulai bergerak dari kiri dan ke kanan.
2) Jika karakternya adalah konsonan / digit, maka ekuivalennya diambil dan jika itu adalah ruang kosong, maka ruang kosong diambil.
3) Jika karakternya adalah vokal, Anda mengambilnya setara dan mulai bergerak ke arah yang berlawanan. Misalnya, jika Anda bergerak ke kanan dan menemukan vokal, mengenkripsi karakter itu kemudian lompat ke karakter paling tidak terenkripsi dan mulai mengenkripsi di arah kiri, dan sebaliknya.
4) Anda tidak harus mempertimbangkan karakter di posisi yang sama dua kali. Langkah-langkah harus diikuti sampai semua karakter dalam input tercakup.
5) Jumlah total karakter dalam input (termasuk spasi kosong) harus sama dengan jumlah total karakter dalam output.
Harap dicatat bahwa karakter terenkripsi muncul dalam output sesuai urutan dienkripsi.
Sekarang izinkan saya mengenkripsi string untuk Anda.
String = "tre d1go3t is"
Moving left to right
"t" -> "h"
"r" -> "k"
"e" -> "o"
Vowel encountered. Now moving right to left.
"s" -> "j"
"i" -> "i"
Vowel encountered. Now moving left to right.
" " -> " "
"d" -> "x"
"1" -> "8"
"g" -> "v"
"o" -> "e"
Vowel encountered. Now moving right to left.
" " -> " "
"t" -> "h"
"3" -> "6"
Output -> "hkoji x8ve h6"
Contohnya
"flyspy" -> "wqcjmc"
"hero" -> "toek"
"heroic" -> "toyike"
"ae" -> "uo"
"abe" -> "uoz"
"the space" -> "htoo jmuy"
"a d1g13t" -> "uh68v8x "
"we xi12" -> "fo78i d"
"this is a code" -> "htioj ixej uy "
Anda juga dapat memilih untuk menggunakan huruf besar alih-alih huruf kecil.
Mencetak gol
Ini kode-golf , jadi kode terpendek menang!