রান-লেংথ এনকোডিং ও ডিকোডিং তৈরি করুন।
রান-লেংথ এনকোডিং (RLE) ডেটা কম্প্রেশনের একটি সরল রূপ, যেখানে রান (পরপর থাকা ডেটা এলিমেন্ট) কেবল একটি ডেটা মান ও একটি গণনায় প্রতিস্থাপিত হয়।
উদাহরণস্বরূপ, মূল ৫৩টি ক্যারেক্টারকে আমরা মাত্র ১৩টি দিয়ে প্রকাশ করতে পারি।
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
RLE-এর সাহায্যে কম্প্রেস করা ডেটা থেকে মূল ডেটা নিখুঁতভাবে পুনর্গঠন করা যায়, আর এ কারণেই এটি একটি লসলেস ডেটা কম্প্রেশন।
"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
সরলতার জন্য ধরে নিতে পারেন, এনকোড না করা স্ট্রিংয়ে শুধু A থেকে Z পর্যন্ত অক্ষর (ছোট বা বড় হাতের) আর হোয়াইটস্পেস থাকবে। এভাবে এনকোড করার ডেটায় কখনোই কোনো সংখ্যা থাকবে না, আর ডিকোড করার ডেটার ভেতরে থাকা সংখ্যাগুলো সবসময় পরের ক্যারেক্টারটি কতবার এসেছে সেটিই বোঝায়।
Exercism-এ সাইন আপ করুন, CFML ট্র্যাকের 51টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।