সীমার মধ্যে তারিখ?


9

একটি MM/DDতারিখ ( 12/24) এবং একটি শুরু / শেষ তারিখের পরিসীমা ( 11/01 - 06/24) দেওয়া হয়েছে, তালিকাটি তালিকৃত তারিখের মধ্যে তারিখটি কিনা তা নির্ধারণ করুন।

তারিখের সীমাগুলি অনুক্রমিক ( 05/01 - 11/01) হতে পারে বা পরের বছর ( 11/01 - 05/01) rap

উদাহরণ:

  • 12/24মধ্যে 11/01 - 06/24= সত্য
  • 06/24মধ্যে 11/01 - 06/24= সত্য
  • 06/24মধ্যে 06/24 - 06/24= সত্য
  • 06/24in 11/01 - 06/23= মিথ্যা
  • 07/24in 11/01 - 06/24= মিথ্যা
  • 07/24মধ্যে 05/01 - 11/01= সত্য
  • 07/24মধ্যে 07/23 - 07/20= সত্য

বছরগুলি ম্যাটার করে না। তারিখ এবং / অথবা তারিখের পরিসীমা যে কোনও বছরের অতীত বা ভবিষ্যতের জন্য আবেদন করার জন্য অনুমান করা হয়।

শেষের তারিখ সর্বদা শুরু করার তারিখের পরে থাকবে। যদি শেষের তারিখটি শুরুর তারিখের তুলনায় সংখ্যাগতভাবে কম হয় তবে আমরা ধরে নিই যে আমরা পরের বছর জুড়ে যাচ্ছি।

তিনটি ইনপুট ভেরিয়েবলগুলি কোনও পদ্ধতির মাধ্যমে (আরগস, এইচটিটিপি, স্টিডিন, ইত্যাদি ..) এবং যে কোনও বিন্যাসে (স্ট্রিং, জেএসএন, অ্যারে ইত্যাদি) হতে পারে)

প্রতিক্রিয়া হতে পারে booleanবা হ্যাঁ / না / সঠিক / ইত্যাদি স্ট্রিং এর কোনও ফর্ম। সংক্ষিপ্ততম কোড জিতেছে।

আপনি কোনও বিল্ট-ইন ফাংশনে কেবল অর্গগুলি পাস করতে পারবেন না।


পরিবর্তে স্ট্রিংগুলির অ্যারে হিসাবে আমরা ফলাফলটি নিতে পারি? আই ['MM', 'DD']?
মিঃ এক্সকোডার

পরীক্ষার কেস পরামর্শ:11/01 - 06/24 includes 06/24?
মিস্টার এক্সকোডার

@ মিঃ এক্সকোডার আপনি কি ['06', '24']ঠিক এমন কিছু চিত্রিত করছেন যা ঠিক আছে []বা আপনার অর্থ কি?
এক্সনক্রস

1
আপনার দ্বিতীয় পরীক্ষার ক্ষেত্রে, ধরুন আমরা এই বছর 2017এবং পরের বছর কথা বলছি 2018। আমরা যে নির্ধারণ করতে কিভাবে অনুমিত হয় 06/24মানে 2018এবং এইভাবে হওয়া উচিত Trueবদলে 2017এবং এইভাবে Falseকারণ এটি আগের 11/01?
অ্যাডমবর্কবর্ক

1
" date > start & date < end" - তারপরে আপনার কিছু পরীক্ষার কেস ভুল। আমি মনে করি আপনি কি বলতে চাইছেন start<=date<=end
শেগি

উত্তর:



4

জাভাস্ক্রিপ্ট (ES6), 26 20 বাইট

(a,b,c)=>b>c^b>a^a>c

আউটপুটটি 0যদি aসীমার মধ্যে থাকে b... c, 1যদি না হয়। সম্পাদনা: @ নয়েলহোফের জন্য 6 বাইট সংরক্ষিত


1
কি হবে (a,b,c)=>b>c^b>a^a>c?
nwellnhof

@ ননহ্নহোফ আমি বিশ্বাস করতে পারি না যে আমি এটি মিস করেছি - আমার প্রথম প্রচেষ্টা ছিল b>a^a>c, কিন্তু আমি তখন সাধারণ সমাধানটিকে উপেক্ষা করেছি ...
নিল

আপনার বাইট কাউন্ট আপডেট করা উচিত।
nwellnhof

@ ননহ্নহফ দুঃখিত, আমি এখনও ধাক্কা খেয়ে আছি!
নীল

4

হাস্কেল , 28 বাইট

(a%d)e=((e<a)/=(a<d))==(e<d)

এটি অনলাইন চেষ্টা করুন!

বুলিয়ানদের সাথে কৌতুক করার কৌশলটির জন্য লিওকে ধন্যবাদ /=


হাস্কেল , 33 বাইট

(a%d)e=show[e>=d,d>a,a>e]!!16>'a'

এটি অনলাইন চেষ্টা করুন!


আপনার showকৌশলটি দুর্দান্ত, তবে আপনি ভাঁজ 1: tio.run/…
লিও

1
@ লিয়ো সুন্দর ধারণা, এটি আরও খাটো প্রসারিত হয়েছে।
xnor

2

জাভাস্ক্রিপ্ট (ES6), 31 বাইট

MM/DDবিন্যাসে 3 টি স্ট্রিং হিসাবে ইনপুট নেয় : তারিখ , ব্যাপ্তি_ফর্ম , পরিসীমা_ থেকে । একটি বুলিয়ান ফেরত দেয়।

(a,b,c)=>!(b<c?a<b|a>c:a<b&a>c)

পরীক্ষার মামলা


MM/DDবিন্যাসের জন্য ধন্যবাদ আপনি কেবল স্ট্রিং বাছাই করতে পারেন। ভাল ধারণা.
এক্সনক্রস


1

পার্ল 6 , 33 31 29 বাইট

{.[0]>.[2]??![>] $_!![<=] $_}

এটি অনলাইন চেষ্টা করুন!

শুরু, তারিখ এবং শেষ সমেত একটি তালিকা নেয়।

-২ বাইট রমিলিসকে ধন্যবাদ।


এবং এখানে, আপনি পরিবর্তে 1 টি তালিকা যুক্তি দিয়ে 2 বাইট সংরক্ষণ করতে পারেন। তারপরে এবং হিসাবে @_[0]হিসাবে লেখা যেতে পারে । আপনার ঠিক এটি পছন্দ করতে হবে । .[0][(whatever)] @_[(whatever)] $_$f(($s,$d,$e))
Ramillies

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.