অল্টারনেস্টিং হ'ল স্ট্রিং নেওয়া এবং এটিকে বিকল্প ব্র্যাকেটে বাসা বাঁধার কাজ। আপনি কীভাবে একটি স্ট্রিং বিকল্প করে তা এখানে ।
দৈর্ঘ্যের এন এর স্ট্রিংয়ের জন্য , কেন্দ্র এন অক্ষরগুলি নিয়ে যান এবং তাদের প্রথম বন্ধনীতে ঘিরে রাখুন। সুতরাং যদি আমাদের স্ট্রিংটি
Hello world!
(12 টি অক্ষর) হত তবে আমরা শেষ করব(Hello world!)
তারপরে, অবশিষ্ট কেন্দ্রের
n-2
অক্ষরগুলি ধরুন এবং তাদের বর্গাকার বন্ধনীতে ঘিরে ফেলুন। এই ক্ষেত্রে, কেন্দ্রের 10 টি অক্ষর রয়েছেello world
, সুতরাং পরবর্তী পুনরাবৃত্তিটি হ'ল:(H[ello world]!)
যতদিন সেখানে চেয়ে বেশি দুই স্ট্রিং এর মাঝখানে বাম অক্ষর, গত দুই ধাপ পুনরাবৃত্তি, পর্যায়ক্রমে
()
এবং[]
। এখানে শেষ পদক্ষেপগুলি রয়েছে:(Hello world!) (H[ello world]!) (H[e(llo worl)d]!) (H[e(l[l(o[ w]o)r]l)d]!)
যেহেতু শেষ পুনরাবৃত্তির মাঝখানে দুটি মাত্র অক্ষর বাকী রয়েছে, তাই আমরা থামি। আমাদের চূড়ান্ত স্ট্রিং হয়
(H[e(l[l(o[ w]o)r]l)d]!)
মাঝারি বন্ধনীগুলিতে কীভাবে দুটি অক্ষর রয়েছে তা লক্ষ্য করুন। ইনপুট একটি দৈর্ঘ্য হয় যখন এটি ঘটে। যদি ইনপুটটি একটি বিজোড় দৈর্ঘ্য হত (উদাহরণস্বরূপ,
Hello, world!
একটি কমা যোগ করা সহ), আমাদের মাঝখানে কেবল একটি অক্ষর থাকবে:(H[e(l[l(o[,( )w]o)r]l)d]!)
আজকের চ্যালেঞ্জের জন্য, আপনাকে অবশ্যই এমন একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা স্ট্রিংটিকে ইনপুট হিসাবে গ্রহণ করবে এবং নতুন স্ট্রিং আউটপুট তৈরি করে এটিকে বিকল্প পরিবর্তন করবে। আপনি যে কোনও যুক্তিসঙ্গত বিন্যাসে পছন্দ করতে ইনপুট এবং আউটপুট নিতে পারেন। ইনপুটটি সর্বদা কমপক্ষে একটি অক্ষর দীর্ঘ হবে এবং এতে কেবল প্রিন্টযোগ্য ASCII থাকবে। আপনি ধরেও নিতে পারেন যে ইনপুটটিতে কোনও প্রথম বন্ধনী বা বর্গাকার বন্ধনী থাকবে না । Traditionalতিহ্যবাহী ভাষার জন্য, এটি খুব বেশি গুরুত্বপূর্ণ নয়, তবে এটি কিছু গুরূত্বপূর্ণ ভাষার পক্ষে এটি আরও সহজ করে তুলতে পারে।
যথারীতি এটি একটি কোড-গল্ফের প্রতিযোগিতা, তাই আপনার পছন্দের ভাষায় সবচেয়ে সংক্ষিপ্ততম উত্তর দেওয়ার চেষ্টা করুন। আনন্দ কর!
পরীক্ষা IO
#Input #Output
"Alternesting is fun!" --> (A[l(t[e(r[n(e[s(t[in]g) ]i)s] )f]u)n]!)
"PPCG" --> (P[PC]G)
"Code-golf" --> (C[o(d[e(-)g]o)l]f)
"4 8 15 16 23 42" --> (4[ (8[ (1[5( [1]6) ]2)3] )4]2)
"a" --> (a)
"ab" --> (ab)
"abc" --> (a[b]c)
()
) দিয়ে শুরু করতে পারি বা বন্ধনী ( []
) দিয়ে শুরু করতে পারি ?
()
HelloWorld
।