একটি সাংখ্যিক স্ট্রিং, str, একটি সুন্দর স্ট্রিং বলা হয় যদি এটিকে দুটি বা তার বেশি ধনাত্মক পূর্ণসংখ্যার ক্রমানুসারে বিভক্ত করা যায়, যা নিম্নলিখিত শর্তগুলিকে সন্তুষ্ট করে -
-
arr[i] - arr[i - 1] =1, অনুক্রমের সূচীতে যেকোনো i-এর জন্য, অর্থাৎ, অনুক্রমের প্রতিটি উপাদান পূর্ববর্তী উপাদানের চেয়ে বেশি।
-
অনুক্রমের কোনো উপাদানে অগ্রণী শূন্য থাকা উচিত নয়। উদাহরণস্বরূপ, আমরা '50607' কে ক্রম [5, 06, 07]-এ বিভক্ত করতে পারি, কিন্তু এটি সুন্দর নয় কারণ 06 এবং 07-এ অগ্রণী শূন্য রয়েছে।
-
অনুক্রমের বিষয়বস্তু পুনর্বিন্যাস করা যাবে না।
যেমন −
যদি ইনপুট স্ট্রিং −
হয়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