ভূমিকা
যারা জানেন না তাদের জন্য, প্যালিনড্রোমটি যখন স্ট্রিংটি পেছনের স্ট্রিংয়ের সমান হয় (ইন্টারপানक्शन, স্পেসস ইত্যাদি ব্যতীত)। প্যালিনড্রোমের উদাহরণ হ'ল:
abcdcba
যদি আপনি এটির বিপরীত হন তবে আপনি এগুলি শেষ করবেন:
abcdcba
যা একই। অতএব, আমরা একে প্যালিনড্রোম বলি। জিনিসগুলিকে পাল্লাইমাইজ করতে, আসুন একটি স্ট্রিংয়ের উদাহরণ দেখুন:
adbcb
এটি কোনও প্যালিনড্রোম নয়। এটি প্যালিনড্রোমাইজ করতে, আমাদের উভয় সংস্করণ অক্ষত রেখে, প্রাথমিক স্ট্রিংয়ের ডানদিকে বিপরীত স্ট্রিংটিকে প্রাথমিক স্ট্রিংয়ে মার্জ করতে হবে । খাটো, তত ভাল।
প্রথম জিনিসটি আমরা চেষ্টা করতে পারি:
adbcb
bcbda
^^ ^^
সমস্ত অক্ষর মেলে না, সুতরাং বিপরীত স্ট্রিংয়ের জন্য এটি সঠিক অবস্থান নয়। আমরা ডানদিকে এক ধাপ এগিয়ে যাই:
adbcb
bcbda
^^^^
এটিও সমস্ত চরিত্রের সাথে মেলে না। আমরা ডানদিকে আরও একটি ধাপ এগিয়ে চলেছি:
adbcb
bcbda
এবার, সমস্ত চরিত্র মেলে । অক্ষত রেখে আমরা উভয় স্ট্রিংকে মার্জ করতে পারি । চূড়ান্ত ফলাফল:
adbcbda
এটি প্যালিনড্রোমাইজড স্ট্রিং ।
কাজটি
একটি স্ট্রিং দেওয়া হয়েছে (কমপক্ষে একটি অক্ষর সহ) কেবলমাত্র ছোট হাতের অক্ষর (বা বড় হাতের অক্ষর সমন্বিত , যদি এটি আরও ভাল ফিট হয়), প্যালিনড্রোমাইজড স্ট্রিং আউটপুট দেয় ।
পরীক্ষার মামলা
Input Output
abcb abcba
hello hellolleh
bonobo bonobonob
radar radar
hex hexeh
এটি কোড-গল্ফ , তাই সর্বনিম্ন পরিমাণ বাইটের সাথে জমাটি জয়!
obonobo
পারে তবে এটি পরীক্ষার ক্ষেত্রে আরও ভাল সমাধান হবে।
bono b o nob
এটি একটি সম্পূর্ণ বাক্য। Godশ্বর এবং বোনোর মধ্যে পার্থক্য কী? Godশ্বর ডোনলিনকে বনো বলে ভান করে ঘুরে বেড়াবেন না ;-)