রোমান সংখ্যার একটি স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করতে সবচেয়ে সংক্ষিপ্ত ফাংশন তৈরি করুন ।
প্রতিটি অক্ষরের নিয়মগুলি উইকিপিডিয়া পৃষ্ঠায় পাওয়া যাবে । 1000 এর উপরে বর্ণগুলিতে তাদের উচ্চ মানের সংকেত দেওয়ার জন্য তাদের চারপাশে বন্ধনী স্থাপন করা হবে।
প্রয়োজনীয়তা:
- রোমান সংখ্যাগুলি 1 থেকে 500,000 এ রূপান্তর করতে হবে
- এক মিনিটেরও কম সময়ে শেষ করতে হবে
- বিল্ট-ইন ফাংশনগুলি ব্যবহার করে না যা কোনও সুবিধা সরবরাহ করতে পারে (উদা: রোমান সংখ্যাগুলিকে পূর্ণসংখ্যায় রূপান্তর করে এমন একটি ফাংশন)
- একটি ফাংশন
ফাংশনটির ভগ্নাংশকে সমর্থন করার প্রয়োজন নেই। কোনও অবৈধ ইনপুট ০ নম্বরটি ফিরিয়ে আনবে।
সংক্ষিপ্ততম ফাংশন জিতেছে। টাইয়ের ক্ষেত্রে সবচেয়ে বেশি ভোটের সাথে একটি জিতে যায়।
পরীক্ষার কেস
ইনপুট
III
আউটপুট
3
ইনপুট
IIII
আউটপুট
0
ইনপুট
XVI
আউটপুট
16
ইনপুট
(C)(D)(L)MMI
আউটপুট
452001
আমাকে অপ্রকৃত অবৈধ অর্থ এবং এইভাবে 0 ফিরে উচিত
—
মার্টিন ইয়র্ক
@ অ্যান: আমি আসল তৃতীয় পরীক্ষার কেসটি পরিবর্তন করার সময় থেকে এই নম্বরটি একটি ভুল টাইপ ছিল। এটি অনুপযুক্ত ফর্মগুলি সমর্থন করার প্রয়োজন নেই, কারণ এটি অবৈধ ইনপুট হিসাবে বিবেচিত হবে।
—
কেভিন ব্রাউন
স্ট্যান্ডার্ড অনুশীলন (এবং এই প্রশ্নের নকলের স্পেক) অবৈধ ইনপুটটির অপরিজ্ঞাত আচরণ হতে be যেহেতু এই প্রশ্নটি চার বছরের পুরানো এবং এর একটি মাত্র উত্তর ছিল, আমাদের কী প্রয়োজনীয়তাগুলি পরিবর্তন করা উচিত?
—
lirtosiast
@ কেভিনব্রাউন আমি প্রথম বন্ধনীগুলির জন্য উত্স বা ব্যাখ্যা দেখতে পাচ্ছি না। আমি মনে করি কোডগল্ফ.স্ট্যাকেক্সেঞ্জার.এইচ / 16254/43319 এর সাথে ম্যাচ করার জন্য আপনার চশমাটি পরিবর্তন করা উচিত এবং সেখান থেকে উত্তরগুলি এখানে স্থানান্তরিত হতে পারে।
—
অ্যাডম
(C)(D)(L)MMI
তবে 452,001 হয়ে যাবে। আপনি কিভাবে আপনার মান পেয়েছেন? অতিরিক্তভাবে, এর জন্য কি "অনুচিত" ফর্মগুলি সমর্থন করা দরকার (উদাহরণস্বরূপIC
পরিবর্তেXCIX
)?