কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে ট্রান্সফরমেশন করে স্ট্রিংয়ের সবচেয়ে ছোট যোগফল বের করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা ধনাত্মক পূর্ণসংখ্যাগুলোর একটি অ্যারে নেবে। আমরা এর উপাদানগুলো নিচের অপারেশন চালিয়ে ট্রান্সফর্ম করতে পারি যতবার ইচ্ছে:

if arr[i] > arr[j] then arr[i] = arr[i] - arr[j]

যখন আর কোনো ট্রান্সফরমেশন সম্ভব নয়, তখন ফাংশনটি এর যোগফল ফেরত দেবে।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

const arr = [6, 9, 21];
const smallestSum = (arr = []) => {
  const equalNums = arr => arr.reduce((a, b) => {
    return (a === b) ? a : NaN;
  });
  if(equalNums(arr)){
    return arr.reduce((a, b) => {
      return a + b;
    });
  }else{
    const sorted = arr.sort((a, b) => {
      return a-b;
    });
    const last = sorted[arr.length-1] - sorted[0]
    sorted.pop();
    sorted.push(last);
    return smallestSum(sorted);
  }
};
console.log(smallestSum(arr));

আউটপুট

কনসোল আউটপুট:

9

  1. জাভাস্ক্রিপ্টে অ্যারে ইউনিক (Unique) করার ন্যূনতম মুভ

  2. জাভাস্ক্রিপ্টে টার্গেট গড় পাওয়ার জন্য বাকি সংখ্যাগুলোর যোগফল বের করা

  3. জাভাস্ক্রিপ্টে লিফ্টে আচ্ছাদিত মোট ফ্লোরের যোগফল বের করা

  4. জাভাস্ক্রিপ্টে ব্র্যাকেটের স্কোর নির্ণয়