Thử thách
Thách thức là mã hóa một chuỗi nhất định, sử dụng các quy tắc như được chỉ định dưới đây. Chuỗi sẽ chỉ chứa bảng chữ cái chữ thường , chữ số và / hoặc khoảng trắng .
Tương đương của một nhân vật
Bây giờ, trước tiên bạn sẽ cần biết cách tìm "tương đương" của mỗi nhân vật.
Nếu ký tự là phụ âm, đây là cách tìm tương đương:
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.
ví dụ: 'h' và 't' là tương đương của nhau vì 'h', 't' ở vị trí thứ 6 từ đầu và cuối tương ứng.
Quy trình tương tự được thực hiện để tìm ra nguyên âm / chữ số tương đương. Bạn liệt kê tất cả các nguyên âm hoặc các chữ số (bắt đầu từ 0) theo thứ tự và tìm tương đương.
Đưa ra dưới đây là danh sách tương đương của tất cả các nhân vật:
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
Quy tắc mã hóa
1) Bạn bắt đầu di chuyển từ bên trái và đi về phía bên phải.
2) Nếu ký tự là một phụ âm / chữ số, thì tương đương của nó được lấy và nếu đó là một khoảng trắng, thì một khoảng trống được lấy.
3) Nếu ký tự là nguyên âm, bạn lấy nó tương đương và bắt đầu di chuyển theo hướng ngược lại. Ví dụ: nếu bạn đang di chuyển sang phải và gặp nguyên âm, hãy mã hóa ký tự đó sau đó bỏ qua ký tự không được mã hóa ngoài cùng bên phải và bắt đầu mã hóa theo hướng bên trái và ngược lại.
4) Bạn không nên xem xét một nhân vật ở cùng một vị trí hai lần. Các bước nên được theo dõi cho đến khi tất cả các ký tự trong đầu vào được bảo hiểm.
5) Tổng số ký tự trong đầu vào (bao gồm cả khoảng trắng) phải bằng tổng số ký tự trong đầu ra.
Xin lưu ý rằng các ký tự được mã hóa xuất hiện trong đầu ra theo thứ tự chúng được mã hóa.
Bây giờ hãy để tôi mã hóa một chuỗi cho bạn.
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"
Ví dụ
"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 "
Bạn cũng có thể chọn sử dụng bảng chữ cái viết hoa thay vì chữ thường.
Chấm điểm
Đây là môn đánh gôn , vì vậy đoạn mã ngắn nhất sẽ thắng!