ট্র্যাক
/
Emacs Lisp
Emacs Lisp
/
অনুশীলনী
/
অ্যারে ফ্ল্যাট করা
অ্যারে ফ্ল্যাট করা

অ্যারে ফ্ল্যাট করা

মধ্যম

ভূমিকা

জরুরি সরবরাহের একটি চালান এসে পৌঁছেছে, কিন্তু একটি সমস্যা আছে। ক্ষতি থেকে রক্ষা করতে জিনিসপত্রগুলো, অর্থাৎ টর্চলাইট, প্রাথমিক চিকিৎসার কিট আর কম্বল, বাক্সের ভেতরে ভরে রাখা আছে, আর সেই বাক্সগুলোর কয়েকটি আবার অন্য বাক্সের ভেতরে কয়েক স্তর গভীরে নেস্টেড!

জরুরি অবস্থার জন্য প্রস্তুত থাকতে হলে সব কিছু একটি বাক্সেই সহজে হাতের নাগালে থাকতে হবে। আপনি কি সব সরবরাহ খুলে একটি বাক্সে ভরে দিতে পারবেন, যাতে সবচেয়ে বেশি প্রয়োজন হলে সেগুলো প্রস্তুত থাকে?

নির্দেশনা

যেকোনো গভীরতার একটি নেস্টেড অ্যারে নিন এবং সম্পূর্ণ ফ্ল্যাট করা একটি অ্যারে রিটার্ন করুন।

লক্ষ্য করুন, কিছু প্রোগ্রামিং ভাষার ট্র্যাকে ইনপুট অ্যারেতে null-এর মতো মান থাকতে পারে, আর এই মানগুলো কীভাবে দেখানো হয় তা ট্র্যাকভেদে আলাদা। এমন মান ফ্ল্যাট করা অ্যারে থেকে বাদ দেওয়া উচিত।

এছাড়াও, ট্র্যাক অনুযায়ী ইনপুট ভিন্ন ডেটা টাইপের হতে পারে এবং ভিন্ন ভিন্ন টাইপ থাকতে পারে।

বিস্তারিত জানতে টেস্ট স্যুট দেখুন।

উদাহরণ

ইনপুট: [1, [2, 6, null], [[null, [4]], 5]]

আউটপুট: [1, 2, 6, 4, 5]

বাস্তবায়ন

ইনপুট ও আউটপুট অ্যারে হিসেবে উপস্থাপন করা হয়।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Emacs Lisp Exercism

অ্যারে ফ্ল্যাট করা শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Emacs Lisp ট্র্যাকের 96টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।