আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং str নিবে যেটিতে শুধু এই ক্যারেক্টারগুলো থাকে: '(', ')', '{', '}', '[' এবং ']'।
ফাংশনটি নির্ধারণ করবে ইনপুট স্ট্রিংটি বৈধ কিনা।
ইনপুট স্ট্রিংটি বৈধ হবে যদি:
- ওপেন ব্র্যাকেট একই টাইপের ব্র্যাকেট দিয়ে ক্লোজ হয়
- ওপেন ব্র্যাকেট সঠিক ক্রমে ক্লোজ হয়
উদাহরণ:
- "()" একটি বৈধ প্যারেনথিসিস
- "()[]{}" বৈধ প্যারেনথিসিস
- "(]" অবৈধ প্যারেনথিসিস
উদাহরণ
এটির কোড হবে:
const str = "()[]{}"; const isValid = (str = '') => { const map=new Map(); map.set('{','}'); map.set('(',')'); map.set('[',']'); const b=[]; for(let i=0;i<str.length;i++){ if(map.has(str.charAt(i))){ b.push(str.charAt(i)); } else{ let pop=b.pop(); if(map.get(pop)!==str.charAt(i)){ return false; } }; }; return b.length===0; }; console.log(isValid(str));
আউটপুট
কনসোলে আউটপুট হবে:
true false