Wyzwanie
Wyzwanie polega na zaszyfrowaniu danego ciągu przy użyciu reguł określonych poniżej. Ciąg będzie zawierał tylko małe litery , cyfry i / lub spacje .
Odpowiednik postaci
Teraz najpierw musisz wiedzieć, jak znaleźć „ekwiwalent” każdej postaci.
Jeśli postać jest spółgłoską, jest to sposób na znalezienie jej odpowiednika:
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.
np .: „h” i „t” są sobie równoważne, ponieważ „h”, „t” znajdują się odpowiednio na 6. pozycji od początku i końca.
Ta sama procedura jest stosowana do znalezienia odpowiednika samogłosek / cyfr. Wymieniasz wszystkie samogłoski lub cyfry (zaczynając od 0) w kolejności i znajdujesz odpowiednik.
Poniżej znajduje się lista ekwiwalentów wszystkich znaków:
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
Zasady szyfrowania
1) Zaczynasz poruszać się od lewej i idziesz w prawo.
2) Jeżeli znak jest spółgłoską / cyfrą, to pobierany jest jej odpowiednik, a jeśli jest to spacja, to jest brana spacja.
3) Jeśli postać jest samogłoską, bierzesz jej ekwiwalent i zaczynasz poruszać się w przeciwnym kierunku. Na przykład, jeśli poruszasz się w prawo i napotykasz samogłoskę, zaszyfruj tę postać, a następnie przejdź do najbardziej niezszyfrowanej prawej strony i zacznij szyfrować w lewą stronę i odwrotnie.
4) Nie powinieneś brać pod uwagę postaci w tej samej pozycji dwa razy. Kroki należy wykonywać, aż wszystkie znaki na wejściu zostaną pokryte.
5) Całkowita liczba znaków na wejściu (w tym spacje) powinna być równa całkowitej liczbie znaków na wyjściu.
Należy pamiętać, że zaszyfrowane znaki pojawiają się na wyjściu w kolejności, w jakiej zostały zaszyfrowane.
Teraz pozwól mi zaszyfrować ciąg dla ciebie.
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"
Przykłady
"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 "
Możesz także użyć wielkich liter zamiast małych liter.
Punktacja
To jest kod-golf , więc wygrywa najkrótszy kod!