দ্রষ্টব্য: অ্যারে-ম্যানিপুলেশন চ্যালেঞ্জগুলির একটি সিরিজের এটি # 2 । পূর্ববর্তী চ্যালেঞ্জের জন্য, এখানে ক্লিক করুন ।
নেস্টেড তালিকাগুলি পৃথক করা
নেস্টেড তালিকায় মানগুলি পৃথক করতে, এটি সমতল করুন এবং তারপরে প্রতিটি মানটি মুড়ে দিন যাতে এটি আগের মতো একই নেস্টেড গভীরতায় থাকে।
এই তালিকাটি বলতে হয়:
[1, [2, 3], [4, 4, [5, 2], 1]]
হবে:
[1, [2], [3], [4], [4], [[5]], [[2]], [1]]
চ্যালেঞ্জ
আপনার কাজটি এমন একটি প্রোগ্রাম লেখা যা ইতিবাচক পূর্ণসংখ্যার (আপনার ভাষার সীমার মধ্যে) কোনও নেস্টেড তালিকা নেয় এবং এই বিভাজন অপারেশন সম্পাদন করে।
আপনি একটি ফাংশন জমা দিতে পারেন যা তালিকাটিকে আর্গুমেন্ট হিসাবে গ্রহণ করে বা পুরো প্রোগ্রাম যা I / O সম্পাদন করে।
এটি কোড-গল্ফ হিসাবে , সংক্ষিপ্ততম জমা (বাইটে) জিতেছে! *
* স্ট্যান্ডার্ড গল্ফিং লুফোলগুলি নিষিদ্ধ করা হয়েছে। তুমি অনুশীলনটা জানো.
পরীক্ষার মামলা
ইনপুট তালিকাগুলিতে কেবল কখনও আপনার ভাষার স্ট্যান্ডার্ড পূর্ণসংখ্যার আকার থাকে inte ভাষার প্রতিবন্ধকতাগুলি প্রতিযোগিতা থেকে বিরত রাখতে, মান 10 এর বেশি গভীরতায় নেস্ট করা হবে না।
আপনি ধরে নিতে পারেন যে ইনপুটটিতে খালি উপ-তালিকা [[5, []]]
থাকবে না : উদাহরণস্বরূপ - দেওয়া হবে না। তবে মূল তালিকাটি খালি থাকতে পারে।
[] -> []
[[1, 2]] -> [[1], [2]]
[3, [4, 5]] -> [3, [4], [5]]
[3, [3, [3]]] -> [3, [3], [[3]]]
[[6, [[7]]]] -> [[6], [[[7]]]]
[[5, 10], 11] -> [[5], [10], 11]
আমি যদি কোনও কোণার কেস মিস করি তবে কোনও মন্তব্য করতে দ্বিধা করবেন না।
উদাহরণ
উদাহরণ হিসাবে আমি দ্রুত (অজলিত) পাইথন 3 সমাধান একসাথে ফেলেছি - আপনি এটি repl.it এ পরীক্ষা করতে পারেন ।