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

শব্দের মাঝপথে স্পেস পুনর্বিন্যাস করার প্রোগ্রাম

একটি স্ট্রিং s দেওয়া আছে যাতে শব্দগুলো কিছু স্পেস দিয়ে আলাদা করা আছে। প্রতিটি শব্দ কমপক্ষে একটি স্পেস দিয়ে আলাদা। স্পেসগুলো পুনর্বিন্যাস করতে হবে যাতে প্রতিটি আডজাসেন্ট শব্দের মাঝপথে সমান সংখ্যক স্পেস থাকে এবং 스페স সংখ্যা সর্বোচ্চ হয়। একসাথে বাঁট না পারলে বাকি স্পেসগুলো শেষে রাখুন।

ইনপুট: s = " I love programming " → আউটপুট: "I love programming "। শব্দগুলোর মাঝপথে ৫টি করে স্পেস।

সমাধানের ধাপসমূহ

  • total_sp = s-এ স্পেসের সংখ্যা

  • text_array = s.split() (শব্দগুলো)

  • num_words = len(text_array)

  • যদি num_words == 1: শব্দ + সব স্পেস রিটার্ন করুন

  • sep_size = total_sp // (num_words - 1)

  • sep = " " × sep_size

  • শব্দগুলো sep দিয়ে জড়ুন, শেষে বাকি স্পেস যোগ করুন

উদাহরণ (Python)

def solve(s):
    res = ""
    total_sp = s.count(" ")
    suff_sp_cnt = total_sp
    text_array = s.split()
    num_words = len(text_array)
    if num_words == 1:
        res = text_array[0] + total_sp * " "
        return res
    sep_size = total_sp // (num_words - 1)
    sep = sep_size * " "
    for i in text_array:
        res += i
        res += sep
        suff_sp_cnt -= sep_size
    suff_sp_cnt += sep_size
    res = res.strip()
    res += suff_sp_cnt * " "
    return res

s = " I love programming "
print(solve(s))

ইনপুট

" I love programming "

আউটপুট

"I love programming "
  1. পাইথনে স্ট্রিং-এ জোড় দৈর্ঘ্যের শব্দ প্রিন্ট করা

  2. পাইথনে সেন্টেন্সে শব্দ গণনা করা

  3. পাইথন প্রোগ্রাম: দেয়া স্ট্রিং-এ শব্দ গণনা (Count Words in a Given String)

  4. পাইথনে Regex ব্যবহার করে ক্যাপিটাল লেটার দিয়ে শুরু হওয়া শব্দের মাঝে স্পেস যোগ করা