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

জাভাস্ক্রিপ্টে সুন্দর সংখ্যা স্ট্রিং (Beautiful Number String) নির্ধারণ করা


একটি সংখ্যাগত স্ট্রিং (str) কে সুন্দর স্ট্রিং (beautiful string) বলা হয় যদি সেটিকে দুটি বা অধিক ধনাত্মক পূর্ণসংখ্যার সিকোয়েন্স (arr) এ ভাগ করা যায়, যেটি নিচের শর্তাবলী পূরণ করে —

  • arr[i] - arr[i - 1] = 1, সিকোয়েন্সের যেকোনো i ইনডেক্সের জন্য, অর্থাৎ প্রতিটি উপাদান পূর্ববর্তী উপাদানের চেয়ে ১ বড়।
  • সিকোয়েন্সের কোনো উপাদান লিডিং জিরো (leading zero) ধারণ করবে না। উদাহরণস্বরূপ, '50607' কে [5, 06, 07] এ ভাগ করা যায়, কিন্তু এটি সুন্দর নয় কারণ 06 এবং 07-তে লিডিং জিরো আছে।
  • সিকোয়েন্সের কন্টেন্ট রি-অ্যারেঞ্জ (rearrange) করা যাবে না।

উদাহরণস্বরূপ —

ইনপুট স্ট্রিং যদি হয় —

const str = '91011';

তাহলে আউটপুট হবে —

const output = true;

কারণ চাওয়া সিকোয়েন্স হলো [9, 10, 11]

উদাহরণ

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

const str = '91011'; 
const isBeautiful = (str) => { 
  let i = 1; 
  let count=0; 
  const { length } = str; 
  while(i <= length / 2){ 
    let check = true; 
    let j = i; 
    let left = BigInt(str.substring(0,j)); 
    let nextRange = (left + 1n).toString().length; 
    while(j + nextRange <= length){ 
      let right=BigInt(str.substring(j,j+nextRange)); 
      if(left === right-1n){ 
        left=right; 
        j+=nextRange; 
        nextRange=(left+1n).toString().length; 
        count=j; 
      }else{ 
        check=false; 
        break; 
      } 
    }; 
    if(check === true && count === length){ 
      return true; 
    } 
    i++; 
  }; 
  return false; 
}; 
console.log(isBeautiful(str));

আউটপুট

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

true

  1. জাভাস্ক্রিপ্টে স্ট্রিংয়ের স্বরবর্ণ গণনা করা

  2. জাভাস্ক্রিপ্টে প্যাংগ্রাম স্ট্রিং (Pangram String) নির্ধারণ করা

  3. জাভাস্ক্রিপ্টে ম্যাজিক্যাল স্ট্রিং সমস্যা

  4. জাভাস্ক্রিপ্টে সংখ্যা স্ট্রিংকে ০ ও ১ দিয়ে এনকোড করা