Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมถอดรหัสสตริงแบบ Run-Length กลับเป็นรูปแบบปกติใน Python

สมมติว่าเรามีสตริง s ซึ่งเป็นสตริงที่เข้ารหัสแบบ Run-Length เราต้องหาสตริงต้นฉบับที่ถอดรหัสแล้ว ตัวอย่างเช่น สตริง "BBBBAAADDCBB" จะถูกเข้ารหัสเป็น "4B3A2D1C2B"

ตัวอย่าง

หากอินพุตคือ s = "4B3A2D1C2B" ผลลัพธ์จะเป็น "BBBBAAADDCBB"

ขั้นตอนการแก้ปัญหา

  1. output := สตริงว่าง
  2. num := สตริงว่าง
  3. สำหรับแต่ละตัวอักษร i ใน s:
    • ถ้า i เป็นตัวอักษร:
      • output := output + i * (num เป็นตัวเลข)
      • num := สตริงว่าง
    • อื่นๆ:
      • num := num + i
  4. คืนค่า output

การใช้งาน

class Solution:
    def solve(self, s):
        output = ""
        num = ""
        for i in s:
            if i.isalpha():
                output += i * int(num)
                num = ""
            else:
                num += i
        return output

ob = Solution()
print(ob.solve("4B3A2D1C2B"))

อินพุต

"4B3A2D1C2B"

เอาต์พุต

BBBBAAADDCBB