Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมเข้ารหัสสตริงด้วยรหัสแนวตั้ง (Vertical Cipher) ใน Python

Vertical Cipher: จัดสตริงเป็น n แถว แล้วอ่านเป็นคอลัมน์ (บนลงล่าง ซ้ายไปขวา)

ตัวอย่าง: "ilovepythonprogramming", n=5 → ['ipnrn', 'lypag', 'otrm', 'vhom', 'eogi']

อัลกอริธึม

  • สไลด์สตริง: สำหรับ i ใน 0..n-1 ให้เอา s[i::n] (ทุก n ตัวอักษร เริ่มที่ i)

การนำไปใช้

class Solution:
    def solve(self, s, n):
        return [s[i::n] for i in range(n)]

ob = Solution()
print(ob.solve("ilovepythonprogramming", 5))
# ['ipnrn', 'lypag', 'otrm', 'vhom', 'eogi']