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

পাইথনে এনকোডেড স্ট্রিং-এর k-th ক্যারেক্টার বের করা (সেট-২)

ধরা যাক একটি এনকোডেড স্ট্রিং আছে যেখানে সাবস্ট্রিং-এর পুনরাবৃত্তি সাবস্ট্রিংর পর তার কাউন্ট দিয়ে দেখানো হয়। উদাহরণ: "pq2rs2" এবং k=5 হলে ডিক্রিপ্টেড স্ট্রিং "pqpqrsrs", ৫ম ক্যারেক্টার 'r'। ফ্রিকোয়েন্সি একাধিক ডিজিটের হতে পারে।

ইনপুট: string="pq4r2ts3", k=11 → আউটপুট 't' (স্ট্রিং: pqpqpqpqrrtststs)

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

  • encoded = "", occurrence=0, i=0
  • while i < len(str):
    • temp = "", occurrence = 0
    • while i < len(str) এবং str[i] অ্যালফাবেট: temp += str[i]; i++
    • while i < len(str) এবং str[i] ডিজিট: occurrence = occurrence*10 + (ord(str[i])-ord('0')); i++
    • for j in 1..occurrence: encoded += temp
    • যদি occurrence==0: encoded += temp
  • return encoded[k-1]

উদাহরণ

def find_kth_char(str, k):
    encoded = ""
    occurrence = 0
    i = 0
    while i < len(str):
        temp = ""
        occurrence = 0
        while i < len(str) and 'a' <= str[i] <= 'z':
            temp += str[i]
            i += 1
        while i < len(str) and '1' <= str[i] <= '9':
            occurrence = occurrence * 10 + ord(str[i]) - ord('0')
            i += 1
        for j in range(1, occurrence + 1):
            encoded += temp
        if occurrence == 0:
            encoded += temp
    return encoded[k - 1]
str = "pq4r2ts3"
k = 11
print(find_kth_char(str, k))

ইনপুট

"pq4r2ts3", 11

আউটপুট

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

  2. পাইথনে স্ট্রিংকে সেটে কনভার্ট কীভাবে করবেন?

  3. পাইথনে স্ট্রিং-এ সাবস্ট্রিং-এর nth অকুরেন্স খুঁজে বের করা

  4. পাইথনে স্ট্রিং-এ সাবস্ট্রিং-এর শেষ~Occurrence-এর ইনডেক্স বের করা