কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে বর্তমান সময় দিয়ে নিকটতম সময় তৈরি


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং time নেবে যা "HH:MM" ফরম্যাটে সময় নির্দেশ করে।

ফাংশনটি বর্তমান অঙ্কগুলো পুনরায় ব্যবহার করে পরের সবচেয়ে নিকটবর্তী সময় তৈরি করবে। একটি অঙ্ক কতবার ব্যবহার করা যাবে সেটির কোনো লিমিট নেই।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const time = '19:34';

আউটপুট

const output = '19:39';

আউটপুট ব্যাখ্যা

১, ৯, ৩, ৪ অঙ্ক থেকে পরের সবচেয়ে নিকটবর্তী সময় ১৯:৩৯, যা ৫ মিনিট পরে। এটি ১৯:৩৩ নয়, কারণ সেটি ২৩ ঘন্টা ৫৯ মিনিট পরে।

উদাহরণ

নিচে কোডটি দেওয়া হল –

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

  1. জাভাস্ক্রিপ্টে 'new' অপারেটর ব্যবহার করে কনস্ট্রাক্টর তৈরির পদ্ধতি

  2. জাভাস্ক্রিপ্টে ০ ও ১ দিয়ে স্ট্রিং ফর্ম করা (সীমিত রিসোর্সসহ)

  3. জাভাস্ক্রিপ্টে প্রায় সমদ্বিবাহু ত্রিভুজের পেরিমিটার নির্ণয়

  4. জাভাস্ক্রিপ্টে টাইম স্ট্রিং রেক্টিফাই করা (HH:MM:SS)