এই সাইটে কিছু সময় ব্যয় করে আমি যতটা সম্ভব সংক্ষিপ্ত হওয়া জিনিস উপভোগ করতে এসেছি। সেই কারণেই আমি সম্প্রতি একাধিকবার একই অক্ষরগুলি যুক্ত স্ট্রিংগুলিতে বিরক্ত হয়েছি। আপনার কাজ হ'ল একটি বিধি বা প্রোগ্রাম লিখুন যা নিম্নলিখিত বিধি অনুসারে প্রদত্ত স্ট্রিংকে ঘনীভূত করে:
0-ঘনীভূতকরণের সাথে শুরু করুন , এটি একই অক্ষরের প্রথম (বামতম) জোড়ার মধ্যে অন্য 0 টি অক্ষরের সাথে সন্ধান করুন। যদি এই জাতীয় জুড়ি পাওয়া যায়, তবে দুটি অক্ষরের একটি অপসারণ করুন এবং অন্য 0-ঘনীকরণের মাধ্যমে অ্যালগরিদম পুনরায় চালু করুন । যদি এরকম কোনও জুড়ি পাওয়া না যায় তবে পরবর্তী পদক্ষেপের সাথে এগিয়ে যান। উদাহরণ:
programming
-C0->programing
aabbcc
-C0->abbcc
test
-C0->test
তারপরে একটি 1-ঘনত্ব সম্পাদন করুন , এটি হ'ল প্রথম অক্ষরের মধ্যে একই অক্ষরের মধ্যে 1 টি অন্যান্য চরিত্রের সন্ধান করুন। যদি এই জাতীয় জুড়ি পাওয়া যায় তবে তাদের মধ্যে একটি এবং তাদের মধ্যে থাকা সমস্ত অক্ষর মুছে ফেলুন এবং 0-ঘনীভবন দিয়ে পুনরায় আরম্ভ করুন । যদি এরকম কোনও জুড়ি পাওয়া না যায় তবে পরবর্তী পদক্ষেপের সাথে এগিয়ে যান। উদাহরণ:
abacac
-C1->acac
java
-C1->ja
একটি দিয়ে চালিয়ে যান 2-ঘনীভবন এবং তাই A পর্যন্ত উপর এন-ঘনীভবন সঙ্গে এন মূল স্ট্রিং এর দৈর্ঘ্য হচ্ছে, প্রতিটি সময় একটি ঘনীভবন পর পুনরায় চালু করার কিছু অক্ষর সরানো হয়েছে। উদাহরণ:
programing
-সি 2->praming
abcdafg
-সি 3->afg
ফলস্বরূপ স্ট্রিংকে কনডেন্সড বলা হয় এবং প্রতিটি অক্ষর একবারে অন্তর্ভুক্ত থাকে।
ইনপুট:
মুদ্রণযোগ্য আসকি-অক্ষরগুলির একটি ছোট কেস স্ট্রিং।
আউটপুট:
ঘনীভূত স্ট্রিং উপরে নিয়ম অনুযায়ী।
উদাহরণ:
examples -> es
programming -> praming
puzzles -> puzles
codegolf -> colf
andromeda -> a
abcbaccbabcb -> acb
if(x==1):x++ -> if(x+
fnabnfun -> fun
abcdefae -> abcde
অ্যালগরিদম কীভাবে কাজ করে তা স্পষ্ট করার জন্য বিশদ উদাহরণ:
fnabnfun -C0-> fnabnfun -C1-> fnabnfun -C2-> fnfun -C0-> fnfun -C1-> fun -C0-> fun
-C1-> fun -C2-> ... -C8-> fun
abcbaccbabcb -C0-> abcbacbabcb -C0-> abcbacbabcb -C1-> abacbabcb -C0-> abacbabcb
-C1-> acbabcb -C0-> acbabcb -C1-> acbcb -C0-> acbcb -C1-> acb -C0-> acb
-C1-> ... -C12-> acb
আপনার সমাধানটি যতক্ষণ না আপনার সমাধান এবং অ্যালগরিদম সমস্ত অনুমোদিত ইনপুটগুলির জন্য একই আউটপুট ফেরত দেয় ততক্ষণ উপরে থেকে অ্যালগরিদম প্রয়োগ করতে হবে না। এটি একটি কোড-গল্ফ চ্যালেঞ্জ।
সহায়ক স্যান্ডবক্স মন্তব্যের জন্য @ লিনাসকে ধন্যবাদ !