দুটি স্ট্রিংয়ের প্রতিটি ক্যারেক্টারের ASCII কোড যোগফল বের করে তাদের পার্থক্য নির্ণয় করা।
ASCII কোড
প্রতিটি ক্যারেক্টারের একটি יূনিক দশমিক কোড থাকে (A=65, a=97, 0=48, ইত্যাদি)।
সমাধান
const calculateScore = (str = '') => {
return [...str].reduce((sum, char) => sum + char.charCodeAt(0), 0);
};
const ASCIIDifference = (str1, str2) => {
const score1 = calculateScore(str1);
const score2 = calculateScore(str2);
return Math.abs(score1 - score2);
};
// টেস্ট
const str1 = 'This is an example sting';
const str2 = 'This is the second string';
console.log(ASCIIDifference(str1, str2)); // 116
// বিস্তারিত ব্রেকডাউন
const debugASCII = (str) => {
return [...str].map(c => ({ char: c, code: c.charCodeAt(0) }));
};
console.log(debugASCII('AB'));
// [{char: 'A', code: 65}, {char: 'B', code: 66}]
ইউনিকোড সাপোর্ট
// charCodeAt() শুধু BMP (Basic Multilingual Plane) সাপোর্ট করে
// সম্পূর্ণ ইউনিকোডের জন্য:
const unicodeScore = (str) => {
return [...str].reduce((sum, char) => sum + char.codePointAt(0), 0);
};
console.log(unicodeScore('😀')); // 128512 (Emoji)
console.log(unicodeScore('ব')); // 2433 (Bengali)
অ্যাপ্লিকেশন
- স্ট্রিং hasonry চেক
- সিম্পল চেকসম/হ্যাশ
- টেক্সট প্রসেসিং অ্যালগরিদম
উৎপাদন
116