ফোন নম্বর

ফোন নম্বর

সহজ

ভূমিকা

আপনি LinkLine-এ যোগ দিয়েছেন, যা একটি শীর্ষস্থানীয় যোগাযোগ কোম্পানি এবং সবার জন্য নির্ভরযোগ্য সংযোগ নিশ্চিত করতে কাজ করে। দলটির সামনে বড় একটি চ্যালেঞ্জ: ব্যবহারকারীরা নানা রকম ফরম্যাটে ফোন নম্বর জমা দেন, যেমন ড্যাশ, স্পেস, ডট, বন্ধনী, এমনকি প্রিফিক্স। কিছু নম্বর বৈধ, আবার কিছু নম্বর ব্যবহারের অযোগ্য।

আপনার মিশন হলো এই বিশৃঙ্খলাকে শৃঙ্খলায় রূপান্তর করা। আপনি বৈধ নম্বরগুলো পরিষ্কার করবেন এবং সিস্টেমে ব্যবহারের জন্য সেগুলো যথাযথভাবে ফরম্যাট করবেন। একই সাথে আপনি অবৈধ এন্ট্রিগুলো চিহ্নিত করে বাদ দেবেন।

LinkLine-এর কার্যক্রমের সফলতা নির্ভর করে উপযোগীকে অযোগ্য থেকে আলাদা করার আপনার দক্ষতার উপর। চ্যালেঞ্জটি নিয়ে সংযোগগুলো নির্বিঘ্নে সচল রাখতে আপনি তৈরি তো?

নির্দেশনা

SMS পাঠানোর জন্য ফোন নম্বরগুলো পরিষ্কার করুন।

North American Numbering Plan (NANP) হলো উত্তর আমেরিকার অনেক দেশ, যেমন যুক্তরাষ্ট্র, কানাডা বা বারমুডায় ব্যবহৃত একটি টেলিফোন নম্বরিং সিস্টেম। সব NANP-দেশ একই আন্তর্জাতিক দেশের কোড ব্যবহার করে: 1।

NANP নম্বরগুলো দশ ডিজিটের সংখ্যা। এগুলোতে থাকে তিন ডিজিটের নম্বরিং প্ল্যান এরিয়া কোড, যা সাধারণত এরিয়া কোড নামে পরিচিত, আর তার পরে সাত ডিজিটের স্থানীয় নম্বর। স্থানীয় নম্বরের প্রথম তিন ডিজিট হলো এক্সচেঞ্জ কোড, আর তার পরের অনন্য চার ডিজিটের সংখ্যাটি হলো সাবস্ক্রাইবার নম্বর।

ফরম্যাটটি সাধারণত এভাবে লেখা হয়

NXX NXX-XXXX

এখানে N হলো 2 থেকে 9 পর্যন্ত যেকোনো ডিজিট এবং X হলো 0 থেকে 9 পর্যন্ত যেকোনো ডিজিট।

কখনও কখনও এগুলোর সামনে দেশের কোডও (যা 1 বা +1 হিসেবে লেখা হয়) যুক্ত থাকে।

আপনার কাজ হলো ভিন্নভাবে ফরম্যাট করা টেলিফোন নম্বরগুলো থেকে যতিচিহ্ন এবং দেশের কোড (যদি থাকে) মুছে ফেলে সেগুলো পরিষ্কার করা। উদাহরণস্বরূপ, এই ইনপুটগুলো

  • +1 (613)-995-0253
  • 613-995-0253
  • 1 613 995 0253
  • 613.995.0253

সবগুলোই এই আউটপুট দেবে

6139950253

নোট: যেহেতু এই অনুশীলনীতে কেবল NANP-দেশে ব্যবহৃত টেলিফোন নম্বর নিয়ে কাজ করা হয়, তাই কেবল 1-ই বৈধ দেশের কোড হিসেবে ধরা হয়।

পরামর্শ

রিটার্ন টাইপ আছে এমন একটি ফাংশন কেবল ওই টাইপের ডেটা এবং null রিটার্ন করতে পারে। কিন্তু ফাংশনটি যে কল করে, সে কেবল একটি ডেটা টাইপই আশা করছে।

উদাহরণ:

String hello(int a){
    if ( a == 0){
        return "a";
    } else {
        return null;
    }
}

এই ফাংশনটি null বা আরও ডেটা টাইপও রিটার্ন করতে পারে, সেটি আরও স্পষ্ট করতে dynamic ব্যবহার করুন।

dynamic hello(int a){
    if ( a == 0){
        return "a";
    } else {
        return null;
    }
}
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Dart Exercism

ফোন নম্বর শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Dart ট্র্যাকের 78টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।