সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি n x n ক্যারেক্টার ম্যাট্রিক্স এবং একটি ইন্টিজার অ্যারে (পজিটিভ এবং ইউনিক) নেবে।
ফাংশনটি সেই ক্যারেক্টারগুলোর স্ট্রিং তৈরি করবে যাদের ১-ভিত্তিক ইনডেক্স নম্বর অ্যারেতে রয়েছে।
ক্যারেক্টার ম্যাট্রিক্স:
[ ['a', 'b', 'c', 'd'], ['o', 'f', 'r', 'g'], ['h', 'i', 'e', 'j'], ['k', 'l', 'm', 'n'] ];
নম্বর অ্যারে:
[1, 4, 5, 7, 11]
'adore' রিটার্ন করবে কারণ ম্যাট্রিক্সে ১-ভিত্তিক ইনডেক্স অনুযায়ী এগুলোই সেটি ক্যারেক্টার।
উদাহরণ
নিচে কোড দেওয়া হলো:
const arr = [
['a', 'b', 'c', 'd'],
['o', 'f', 'r', 'g'],
['h', 'i', 'e', 'j'],
['k', 'l', 'm', 'n']
];
const pos = [1, 4, 5, 7, 11];
const buildString = (arr = [], pos = []) => {
const flat = [];
arr.forEach(sub => {
flat.push(...sub);
});
let res = '';
pos.forEach(num => {
res += (flat[num - 1] || '');
});
return res;
};
console.log(buildString(arr, pos));
আউটপুট
কনসোল আউটপুট:
adore