สมมติว่าเรามีสตริง s และตัวเลข n เราต้องจัดเรียง s ใหม่เป็น n แถว เพื่อเลือก s ในแนวตั้ง (จากบนลงล่าง ซ้ายไปขวา)
ดังนั้น หากอินพุตเป็น s ="ilovepythonprogramming" n =5 เอาต์พุตจะเป็น ['ipnrn', 'lypag', 'otrm', 'vhom', 'eogi']
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- L :=รายการว่าง
- สำหรับฉันในช่วง 0 ถึง n - 1:
- แทรกสตริงโดยใช้อักขระที่ n แต่ละตัวที่เริ่มต้นจาก i และแทรกลงใน L
- คืนแอล
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, s, n): return [s[i::n] for i in range(n)] ob = Solution() s = "ilovepythonprogramming" n = 5 print(ob.solve(s, n))
อินพุต
"ilovepythonprogramming", 5
ผลลัพธ์
['ipnrn', 'lypag', 'otrm', 'vhom', 'eogi']