กำหนดชุดตัวอักษร 26 ตัวอักษร ใช้ชุดตัวอักษรใหม่ และอีกชุดหนึ่งเหมือนอักษรภาษาอังกฤษ (a, b, c...z) งานคือสร้างความสัมพันธ์ระหว่างชุดตัวอักษรใหม่กับชุดอักษรภาษาอังกฤษ
ตัวอย่าง
New character set: qwertyuiopasdfghjklzxcvbnm Input: "wwmm" Output: bbzy
อัลกอริทึม
ขั้นตอนที่ 1: กำหนดชุดตัวอักษรใหม่และป้อนสตริงเพื่อสร้างความสัมพันธ์ ขั้นตอนที่ 2: ชุดตัวอักษรต้นฉบับกำหนดไว้ด้านล่าง ขั้นตอนที่ 3: สร้างดิกชันนารี ใช้เทคนิค map จับคู่ชุดอักษรอังกฤษและชุดใหม่ zip() ทำได้ ทั้งสองชุดจับคู่กันตามลำดับ ขั้นตอนที่ 4: วนลูปผ่านสตริงต้นฉบับและดึงตัวอักษรของชุดต้นฉบับ ขั้นตอนที่ 5: รวมตัวอักษรโดยไม่มีช่องว่างเพื่อได้สตริงใหม่
โค้ดตัวอย่าง
# ฟังก์ชันเปลี่ยนสตริงเป็นชุดตัวอักษรใหม่
def newString(cs, n):
ori = 'abcdefghijklmnopqrstuvwxyz'
newchar = dict(zip(cs, ori))
newstr = [newchar[chr] for chr in n]
print(''.join(newstr))
# โปรแกรมหลัก
if __name__ == "__main__":
newcharSet = 'qwertyuiopasdfghjklzxcvbnm'
input = 'wwmn'
newString(newcharSet, input)
ผลลัพธ์
bbzy