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

পাইথনে দেওয়া সংখ্যাসূচক মান দিয়ে ন্যূনতম লেক্সিকোগ্রাফিক্যাল স্ট্রিং বের করার প্রোগ্রাম


মান লিজিয়ে দুটি ভ্যালু আছে n এবং k। আমাদের দৈর্ঘ্য n এবং সংখ্যাসূচক মান k والے লেক্সিকোগ্রাফিক্যালি ন্যূনতম স্ট্রিং বের করতে হবে। একটি লোয়ারকেস ক্যারেক্টারের সংখ্যাসূচক মান হল অ্যালফাবেটে এর পজিশন (১ থেকে শুরু), যেমন 'a'=1, 'b'=2 ইত্যাদি। একটি স্ট্রিং-এর সংখ্যাসূচক মান হল এর ক্যারেক্টারগুলোর মানগুলোর যোগফল।

যেমন, ইনপুট হলে n = 4, k = 16, তবে আউটপুট হবে "aaam" কারণ এখানে মান 1+1+1+13 = 16, এবং দৈর্ঘ্য ৪ সহ এই মানের ন্যূনতম স্ট্রিং यही।

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

  • string := খালি স্ট্রিং

  • n > 0 থাকা পর্যন্ত:

    • letter := min(26, k - n + 1)

    • string += chr(letter + ord('a') - 1)

    • k -= letter, n -= 1

  • স্ট্রিং রিভার্স করে রিটার্ন করুন।

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন:

def solve(n, k):
    string = ""
    while n > 0:
        letter = min(26, k - n + 1)
        string += chr(letter + ord('a') - 1)
        k -= letter
        n -= 1
    return string[::-1]

n = 4
k = 16
print(solve(n, k))

ইনপুট

4, 16

আউটপুট

aaam

  1. পাইথনে দেওয়া ইনডেক্স অনুযায়ী স্ট্রিং শাফল করার প্রোগ্রাম

  2. পাইথন প্রোগ্রাম দিয়ে স্ট্রিংয়ে প্রতিটি ক্যারেক্টারের ঘনত্ব বের করা

  3. পাইথন প্রোগ্রাম: ২ডি অ্যারে-তে k-তম ছোট এলিমেন্ট বের করা

  4. পাইথন প্রোগ্রাম: স্ট্রিং-এ মিরর ক্যারেক্টার বের করা