সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং, str, প্রথম এবং একমাত্র আর্গুমেন্ট হিসাবে নেয়৷
আমাদের ফাংশন ইনপুট স্ট্রিং এর উপর ভিত্তি করে একটি নতুন স্ট্রিং তৈরি করা উচিত যেখানে নতুন স্ট্রিং এর প্রতিটি অক্ষর '(' যদি সেই অক্ষরটি আসল স্ট্রিং-এ শুধুমাত্র একবার প্রদর্শিত হয়, অথবা ')' যদি সেই অক্ষরটি মূল স্ট্রিং-এ একাধিকবার প্রদর্শিত হয়।
এবং আমাদের পুঁজিকে উপেক্ষা করা উচিত
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
ইনপুট
const str = 'Success';
আউটপুট
const output = ')())())';
উদাহরণ
নিম্নলিখিত কোড -
const str = 'Success';
const mapString = (str = '') => {
const mainStr = str.toLowerCase()
const hash = {}
let res = ''
for (let char of mainStr) {
hash[char] = ~~hash[char] + 1
}
for (let char of mainStr) {
if (hash[char] > 1) {
res += ')'
} else {
res += '('
}
}
return res
};
console.log(mapString(str)); আউটপুট
)())())