(এটি আমার প্রথম কোড-গল্ফ প্রশ্ন)
যখন আমি ছোট ছিলাম, আমার বাবা এবং আমি এমন একটি খেলা আবিষ্কার করেছিলেন যেখানে আমরা গাড়িতে যে লাইসেন্স প্লেট দেখি তারা কিছু সাধারণ নিয়মের ভিত্তিতে নির্দিষ্ট পয়েন্ট দিতে পারে:
একই অক্ষর বা সংখ্যার এক্স পরিমাণটি এক্স -১ পয়েন্ট দেয়, উদাহরণস্বরূপ:
22 = 1 point
aa = 1 point
5555 = 3 points
সংখ্যাগুলি অবশ্যই 3353
প্রত্যেকের পাশে থাকা উচিত, সুতরাং 5 টি 3 এর ক্রমকে বিভক্ত করার সাথে সাথে কেবল 1 পয়েন্ট দেয়।
আরোহী বা উতরান ক্রমে X সংখ্যার একটি ক্রম, সর্বনিম্ন 3 এ, এক্স পয়েন্ট দিন, উদাহরণ দিন:
123 = 3 points
9753 = 4 points
147 = 3 points
পয়েন্ট সিস্টেমটি কেবল 1-সংখ্যার জন্য কাজ 1919
করে , সুতরাং পয়েন্ট দেয় না এবং 14710
কেবল 3, (147) দেয়।
সিকোয়েন্সগুলি আরও পয়েন্ট তৈরির জন্য সংযুক্ত করা যেতে পারে, উদাহরণগুলি:
1135 = 4 points (1 point for 11 and 3 points for 135)
34543 = 6 points (3 points for 345 and 3 points for 543)
তবে অতিরিক্ত পয়েন্টগুলির জন্য আপনাকে 2 টি ছোট ছোট সিকোয়েন্সে বৃহত্তর সিকোয়েন্স কেটে দেওয়ার অনুমতি নেই: 1234 = 123, 234 (6 points)
অনুমোদিত নয়।
লাইসেন্স প্লেট যে পয়েন্ট দেয় তার সংখ্যা নির্ধারণ করার জন্য আপনার কাজটি একটি ক্রম দেওয়া হচ্ছে।
ডেনমার্কে, লাইসেন্স প্লেটগুলি এই জাতীয়ভাবে কাঠামোযুক্ত হয়: সিসি দ্বিতীয় তৃতীয়, যেখানে সি অক্ষর এবং আমি পূর্ণসংখ্যা, এবং এইভাবে আমার উদাহরণ ইনপুটগুলি এই কাঠামোর প্রতিফলন করবে। যদি আপনি চান, আপনি এই ক্রমটি নিজের কাঠামোর সাথে খাপ খাইয়ে নিতে পারেন, বা আপনি যদি সত্যিই সাহসী বোধ করেন তবে প্রোগ্রামটি লাইসেন্স প্লেটের কাঠামো বিশ্লেষণ করুন এবং এভাবে বিশ্বজুড়ে যে কোনও ধরণের লাইসেন্স প্লেটে কাজ করা উচিত। আপনার উত্তরে যদিও আপনি যে কাঠামোটি ব্যবহার করার সিদ্ধান্ত নিয়েছেন তা স্পষ্টভাবে উল্লেখ করুন।
আপনি দয়া করে যে কোনও উপায়ে ইনপুট নিতে পারেন, কোনও স্ট্রিং বা অ্যারে আমার কাছে সর্বাধিক অর্থ বোধ করে।
পরীক্ষার ইনপুট | আউটপুট:
AA 11 111 | 5
AB 15 436 | 3
OJ 82 645 | 0
UI 65 456 | 6
HH 45 670 | 5
YH 00 244 | 5
AJ 00 754 | 1
আপনার নিজস্ব কাঠামো বেছে নেওয়ার প্রকৃতির কারণে, বা এমনকি সমস্ত কাঠামোকে .েকে দেওয়ার কারণে, আমি কীভাবে কোনও বিজয়ীকে সুস্পষ্টভাবে নির্ধারণ করা যায় তা দেখার প্রয়োজন হয় না। আমি মনে করি যে বিজয়ী কাঠামোর যেটি সিদ্ধান্ত নিয়েছে তার মধ্যে সংক্ষিপ্ততম বাইট হবে। (এবং কেবল নিজের জন্য সহজ করার জন্য সিকিকের মতো ইনপুট নেবেন না)
সম্পাদনা করুন:
মন্তব্য জিজ্ঞাসার কারণে, আমার কাছে শেয়ার করার জন্য আরও কয়েকটি অতিরিক্ত তথ্য রয়েছে: আরোহী বা উতরান সংখ্যার একটি ক্রম একটি গাণিতিক ক্রমকে বোঝায় তাই এক্স +/- এ * 0, এক্স +/- এ * 1, ... এক্স +/- এ * এন ইত্যাদি সুতরাং 3-5-7 উদাহরণস্বরূপ 3 + 2 * 0, 3 + 2 * 1, 3 + 2 * ২. ক্রমটি অবশ্য 0 থেকে শুরু করার বা শেষের দরকার নেই 0।
আরও সম্পাদনা:
আপনি দয়া করে যেকোন উপায়ে ইনপুট দিতে পারেন, আপনার কোনও স্থান প্লে, ড্যাশ বা অন্য কোনও জিনিস যা লাইসেন্স প্লেটকে আরও পঠনযোগ্য করে তোলে তা ইনপুট করতে হবে না। আপনি যদি কেবলমাত্র বড় বড় অক্ষর বা এরকম কিছু গ্রহণ করে বাইটগুলি সঞ্চয় করতে পারেন তবে আপনি এটিও করতে পারেন। একমাত্র প্রয়োজন আপনার প্রোগ্রামটি একটি স্ট্রিং / অ্যারে / উভয় অক্ষর এবং সংখ্যা উভয় সমন্বিত নিতে পারে এবং বর্ণিত বিধি অনুসারে পয়েন্টগুলির সঠিক পরিমাণ আউটপুট নিতে পারে।
XX 87 654
। আমি এমন কিছু নিয়ে এসেছি যা আপনার সমস্ত পরীক্ষার ক্ষেত্রে সঠিক ছিল তবে এটির জন্য কোনওরকম ভুল .. এটি ঠিক করার উপর কাজ করা।
CCIIIII
, কোনও স্পেস নেই), নাহলে এই সমস্যাটির একটি উদ্দেশ্য জয়ের মানদণ্ডের অভাব রয়েছে, যা আমাদের এখানে প্রায় প্রয়োজন। যেমনটি হ'ল, "(এবং কেবল নিজের জন্য সহজ করে তুলতে সিসিকের মতো ইনপুট নেবেন না)" অত্যন্ত বিষয়গত। কোনটি গ্রহণযোগ্য কাঠামো এবং কী না?
IA99999
(কোড পয়েন্টগুলির ক্রমহ্রাসমান ক্রম রয়েছে তবে সংখ্যার নয়)।