সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি ইন্টিজার অ্যারে নেবে। ফাংশনটি true রিটার্ন করবে যদি এবং কেবল যদি অ্যারে-কে তিনটি নন-এমপটি অংশে ভাগ করা যায় যাদের সমষ্টি সমান, অন্যথায় false।
উদাহরণস্বরূপ, ইনপুট যদি হয় –
const arr = [3, 3, 6, 5, -2, 2, 5, 1, -9, 4];
তবে আউটপুট হবে –
const output = true;
আউটপুট ব্যাখ্যা
কারণ,
3 + 3 = 6 = 5 - 2 + 2 + 5 + 1 - 9 + 4
উদাহরণ
কোডটি নিচের মতো –
const arr = [3, 3, 6, 5, -2, 2, 5, 1, -9, 4]; const thirdSum = (arr = []) => { const sum = arr.reduce((acc, val) => acc + val, 0); if(!Number.isInteger(sum / 3)){ return false; }; let count = 0; let curr = 0; const target = sum / 3; for(const num of arr){ curr += num; if(curr === target){ curr = 0; count += 1; }; }; return count === 3 && curr === 0; }; console.log(thirdSum(arr));আউটপুট
কনসোলে আউটপুট হবে –
true