متوسط

التعليمات

نفّذ ترميز طول التكرار وفكّ هذا الترميز.

ترميز طول التكرار (RLE) شكل بسيط من ضغط البيانات، وفيه تُستبدل المقاطع المتتالية (عناصر البيانات المتتابعة) بقيمة بيانات واحدة وعدد مراتها.

على سبيل المثال، يمكننا تمثيل الأحرف الـ53 الأصلية بـ13 حرفًا فقط.

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

يتيح RLE إعادة بناء البيانات الأصلية إعادة تامة من البيانات المضغوطة، وهذا ما يجعله ضغطًا للبيانات بلا فقدان.

"AABCCCDEEEE"  ->  "2AB3CD4E"  ->  "AABCCCDEEEE"

لتبسيط الأمر، يمكنك افتراض أن السلسلة النصية غير المرمّزة لن تحتوي إلا على الأحرف من A إلى Z (سواء بأحرف صغيرة أو كبيرة) وعلى المسافات البيضاء. بهذه الطريقة، لن تحتوي البيانات المراد ترميزها على أي أعداد مطلقًا، وستكون الأعداد داخل البيانات المراد فكّ ترميزها دائمًا عدد مرات تكرار الحرف التالي.


المصدر

استكشف مصدر هذا التمرين.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
GDScript Exercism

مستعد لبدء ؟

سجّل في Exercism لتتعلّم وتتقن GDScript عبر 67 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.