Meydan okuma
Zorluk, aşağıda belirtilen kuralları kullanarak belirli bir dizeyi şifrelemektir. Dize yalnızca küçük harfler , rakamlar ve / veya boşluklar içerecektir .
Bir Karakterin Eşdeğeri
Şimdi, öncelikle her karakterin "eşdeğerini" nasıl bulacağınızı bilmeniz gerekir.
Karakter bir ünsüz ise, bu eşdeğerini bulmanın yolu budur:
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.
örneğin: 'h' ve 't' birbirlerinin eşdeğerleridir çünkü 'h', 't' sırasıyla başlangıç ve bitişten 6. konumdadır.
Sesli harflerin / rakamların eşdeğerini bulmak için aynı prosedür izlenir. Tüm sesli harfleri veya rakamları (0'dan başlayarak) sırayla listeler ve eşdeğerini bulursunuz.
Aşağıda tüm karakterlerin eşdeğerlerinin listesi verilmiştir:
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
Şifreleme Kuralları
1) Soldan hareket etmeye başlıyorsunuz ve sağa doğru gidiyorsunuz.
2) Karakter bir ünsüz / rakamsa, eşdeğeri alınır ve boşluksa, boşluk alınır.
3) Karakter bir sesli harf ise, eşdeğerini alır ve ters yönde hareket etmeye başlarsınız. Örneğin, sağa hareket ediyorsanız ve bir sesli harfle karşılaşıyorsanız, bu karakteri şifreleyin, ardından en sağdaki şifrelenmemiş karaktere atlayın ve sol yönde şifrelemeye başlayın (veya tersi).
4) Bir karakteri aynı pozisyonda iki kez düşünmemelisiniz. Girişteki tüm karakterler kapsanana kadar adımlar takip edilmelidir.
5) Girişteki toplam karakter sayısı (boşluklar dahil) çıktıdaki toplam karakter sayısına eşit olmalıdır.
Şifrelenmiş karakterlerin çıktıda şifrelendikleri sırayla göründüğünü lütfen unutmayın.
Şimdi senin için bir dize şifreleyeyim.
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"
Örnekler
"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 "
Küçük harf yerine büyük harfli alfabe kullanmayı da seçebilirsiniz.
puanlama
Bu kod golf , bu yüzden en kısa kod kazanır!