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

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

সহজ

ভূমিকা

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

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

নির্দেশনা

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

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

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

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

উদাহরণ

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

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

Elixir-নির্দিষ্ট পরিবর্তন

এই অনুশীলনীর উপরের বিবরণটি Exercism-এর সব ট্র্যাকে একই। এতে "অ্যারে"-এর কথা বলা হয়েছে, কিন্তু Elixir-এ এমন কোনো ডেটা টাইপ নেই। এই অনুশীলনীটি আসলে লিস্ট নিয়ে।

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

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

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