সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং, সময় নেয়, যা "HH:MM" ফর্মে সময়কে উপস্থাপন করে৷
আমাদের ফাংশন বর্তমান সংখ্যা পুনরায় ব্যবহার করে পরবর্তী নিকটতম সময় গঠন করা অনুমিত হয়. একটি সংখ্যা কতবার পুনরায় ব্যবহার করা যেতে পারে তার কোন সীমা নেই৷
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়
ইনপুট
const time = '19:34';
আউটপুট
const output = '19:39';
আউটপুট ব্যাখ্যা
সংখ্যা 1, 9, 3, 4 থেকে বেছে নেওয়ার পরবর্তী নিকটতম সময় হল 19:39, যা 5 মিনিট পরে ঘটে। এটি 19:33 নয়, কারণ এটি 23 ঘন্টা এবং 59 মিনিট পরে ঘটে৷
উদাহরণ
নিম্নলিখিত কোড -
const time = '19:34'; const findClosestTime = (time = '') => { const [a, b, c, d] = [time[0], time[1], time[3], time[4]].map(x =>Number(x)); const sorted = [a, b, c, d].sort((x, y) => x - y) const d2 = sorted.find(x => x > d) if (d2 > d) { return `${a}${b}:${c}${d2}` } const c2 = sorted.find(x => x > c && x <= 5) const min = Math.min(a, b, c, d) if (c2 > c) { return `${a}${b}:${c2}${min}` } const b2 = sorted.find(x => x > b && a * 10 + x <= 24) if (b2 > b) { return `${a}${b2}:${min}${min}` } const a2 = sorted.find(x => x > a && x <= 2) if (a2 > a) { return `${a2}${min}:${min}${min}` } return `${min}${min}:${min}${min}` }; console.log(findClosestTime(time));
আউটপুট
19:39