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

জাভাস্ক্রিপ্টে অ্যালফাবেট লড়াই সমস্যা সমাধান


সমস্যা

একটি পরিস্থিতি বিবেচনা করুন যেখানে অ্যালফাবেটের দুটি দল একে অপরের সাথে লড়ছে। উভয় দলের সৈন্য ও তাদের ওজন নিচে দেওয়া হল –

TeamA

সৈন্যওজন
A1
B2
C3
D4

TeamB

সৈন্যওজন
W1
X2
Y3
Z4

সৈন্যদের বাইরে বমও আছে আক্রমণক্ষেত্রে যাকে '!' দিয়ে বোঝানো হয়েছে, এবং একটি বম তার আশেপাশের দুপাশের সৈন্যদের കൊন্দর করে।

উদাহরণ: 'A!BC' ফলাফল হবে 'C' এবং '!!CC!!' ফলাফল হবে ''।

আমাদের ফাংশনটি বের করতে হবে যখন সব বম বিস্ফোরিত হয়ে যাবে কোন দল জিতবে অথবা দুটি দল সমান ওজন পাবে।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const str = '!WX!YZ!DC!BA!';

আউটপুট

const output = 'Tie';

আউটপুট ব্যাখ্যা

কারণ সব বম বিস্ফোরিত হলে দুটি দল একই স্কোর পাবে।

উদাহরণ

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

const str = '!WX!YZ!DC!BA!'; 
const stringFight = (str) => { 
  const map = { 
    'D': 4, 'C': 3, 'B': 2, 'A': 1, 
    'Z': -4, 'Y': -3, 'X': -2, 'W': -1 
  }; 
  const arr = []; 
  const arr1 = str.split(''); 
  for (let i = 0; i < str.length; i++) { 
    if (arr1[i - 1] !== '!' && arr1[i] !== '!' && arr1[i + 1] !== '!') { 
      arr.push(arr1[i]); 
    } 
  } 
  const sum = arr.reduce((a, b) => a + (map[b] ? map[b] : 0), 0); 
  if (sum < 0) { 
    return 'Team B'; 
    if (sum < 0) { 
      return 'Team B'; 
    } else if (sum > 0) { 
      return 'Team A'; 
    } else { 
      return 'Tie'; 
    } 
  } 
}; 
console.log(stringFight(str));

আউটপুট

Tie

  1. জাভাস্ক্রিপ্ট const কীওয়ার্ড

  2. জাভাস্ক্রিপ্টে Const এবং Let এর পার্থক্য

  3. জাভাস্ক্রিপ্টে অ্যালফাবেটগুলকে উল্টো ক্রমে সর্ট করা

  4. জাভাস্ক্রিপ্টে স্ট্রিংয়ের অ্যালফাবেট উল্টে দেয়া