কম্পিউটার টিউটোরিয়াল

পাইথনে স্ট্রিংকে জিগজ্যাগ প্যাটার্নে রূপান্তর করার প্রোগ্রাম


একটি স্ট্রিং s এবং লাইন সংখ্যা k দেওয়া আছে। স্ট্রিংকে জিগজ্যাগ প্যাটার্নে লিখে লাইন বাই লাইন আউটপুট দিন।

উদাহরণ: s="ilovepythonprogramming", k=5 → আউটপুট ছবির মতো।

সমাধানের ধাপগুলো:

  • লাইন অনুযায়ী ক্যারেক্টার সংগ্রহ করুন।
  • ডায়াগোনাল mouvemেন্ট için ডেল্টা ব্যবহার করুন।
  • প্রতিটি লাইনের জন্য স্পেস প্যাডিং দিয়ে স্ট্রিং বানান।
  • লাইনগুলো নয়ালাইন দিয়ে জড়িয়ে দিন।

উদাহরণ

from collections import defaultdict
class Solution:
    def solve(self, s, k):
        line = defaultdict(list)
        cnt = 0
        delta = 1
        for i, c in enumerate(s):
            line[cnt].append((c, i))
            cnt += delta
            if cnt == k:
                delta = -1
                cnt = k - 2
            if cnt == 0:
                delta = 1
        ans = []
        for i, c in line.items():
            prefix = [" "] * len(s)
            for x, y in c:
                prefix[y] = x
            ans.append("".join(prefix))
        return "\n".join(ans)

ob = Solution()
s = "ilovepythonprogramming"
k = 5
print(ob.solve(s, k))

ইনপুট

"ilovepythonprogramming", 5

আউটপুট

পাইথনে স্ট্রিংকে জিগজ্যাগ প্যাটার্নে রূপান্তর করার প্রোগ্রাম

  1. হেক্সাডেসিমেল স্ট্রিংকে দশমিকে রূপান্তর করার পাইথন প্রোগ্রাম

  2. পাইথন প্রোগ্রাম: সেট ব্যবহার করে স্ট্রিং-এ স্বরবর্ণ (vowel) গণনা

  3. পাইথনে স্ট্রিংয়ে একটি শব্দের উপস্থিতি গণনা করার প্রোগ্রাম

  4. পাইথনে ক্যারেক্টারের লিস্টকে স্ট্রিংয়ে রূপান্তর করার প্রোগ্রাম