জিজ্ঞাসাবাদের উত্তরদাতা


12
  • আসল: https://james-iry.blogspot.co.at/2009/05/b ব্রিফ- সংক্ষিপ্ত- এবং- প্রায়- wrong.html

    আলাইন কলমেউয়ার লজিক প্রোগ্রামিং ল্যাঙ্গুয়েজ প্রোগল ডিজাইন করেছিলেন। তার লক্ষ্য ছিল একটি প্রোগ্রামিং ভাষা তৈরি করা যা দুই বছরের বাচ্চার মতো বুদ্ধিমান। তিনি তার লক্ষ্যে সফল হয়েছেন তা প্রমাণ করার জন্য, তিনি একটি প্রোলোগ প্রোগ্রাম উপস্থাপন করেছিলেন যা সমস্ত অনুসন্ধানের জন্য "না" রিসোর্পালি উত্তর দেয়।
    আমাকে যে কোন কিছু জিজ্ঞাসা করো!
    ? -

  • (অবশ্যই তিনি করেন নি।) আপনার কাজটি এমন একটি প্রোগ্রাম তৈরি করা যা আলাইন কলমেরিউয়ার প্রোগ্রামের চেয়ে বেশি বুদ্ধিমান। এটি প্রোলোগে থাকতে হবে না।

সুনির্দিষ্ট

  • যদি ইনপুটটি শেষ হয় ?এবং কমপক্ষে একটি থাকে ,তবে শেষ থেকে শেষের ,আগে পাঠ্যটি ফেরত দিন ?

  • অন্যথায়, যদি ইনপুটটি ?ফিরতি দিয়ে শেষ হয় No

  • অন্যথায়, ফিরে Yes

বিধি

  • কোনও মানক ফাঁক নেই।
  • ইনপুট / আউটপুট আমাদের স্ট্যান্ডার্ড ইনপুট / আউটপুট পদ্ধতির মাধ্যমে নেওয়া হবে।
  • আপনার প্রোগ্রামে কমপক্ষে 1 টি তদন্ত করতে হবে।
  • প্রক্রিয়াজাত তদন্তটি আপনার আউটপুট করা উচিত।
  • উদাহরণস্বরূপ Yesএবং Noএর ক্ষেত্রে সংবেদনশীল।
  • আপনি গ্যারান্টিযুক্ত যে ইনপুটটিতে একটি অন্তর্ভুক্ত থাকলে ?ইনপুটটিতে কেবল একটি থাকবে ?এবং এটি সর্বদা শেষ অক্ষর হবে।
  • ইনপুটটি সর্বদা একটি বাক্য / বাক্য হবে। এই ফ্রেজ / বাক্য শুধুমাত্র অক্ষর থাকতে হবে না ,এবং ?যেমন ,, ?এবং ,?বৈধ ইনপুট নয়। (যদিও সাবমিশনগুলি এটিকে যাইহোক কার্যকর করতে পারে, কারণ এই বাক্যাংশ / বাক্যটি এই ক্ষেত্রে একটি খালি স্ট্রিং)
  • এছাড়াও, ইনপুটটি কখনই শেষ হবে না ,?
  • শেষের অব্যবহিত পরে ,বা তাত্ক্ষণিক আগেই যদি সাদা জায়গা থাকে তবে ?সেগুলি আউটপুটে অন্তর্ভুক্ত করা উচিত।

উদাহরণ

Hmm. -> Yes
Alright, -> Yes
Ask me anything! -> Yes
Ask me a question, please! -> Yes
Are you okay? -> No
No? -> No
Hey,does this program work? -> does this program work

Quotes in the following test cases should not be outputted.
They are used as a delimiter here.

Okay, so this does work ? -> " so this does work "
Please, add, a, test, case, containing, multiple, commas? -> " commas"

স্কোরিং

এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।


6
আমরা কি গ্যারান্টিযুক্ত যে ইনপুটটিতে একটি অন্তর্ভুক্ত ?থাকে তবে কেবল একটি থাকবে এবং এটি সর্বদা সর্বশেষ চরিত্র হতে পারে?
শেগি

3
দয়া করে একাধিক কমাযুক্ত একটি পরীক্ষার কেস যুক্ত করুন।
manatwork

8
কোনও উত্তর তাড়াতাড়ি গ্রহণ করা অন্য ব্যবহারকারীদের নতুন উত্তর পোস্ট করা থেকে নিরুৎসাহিত করতে পারে, কারণ এটির মতো দেখতে চ্যালেঞ্জটি হয়েছে।
আর্নল্ড

3
You are guaranteed that if the input includes a ?, the input will only have one ? and it will always be the last character.অতএব এই পরীক্ষার কেসগুলি অদম্য।

8
কি ends with ,?একটি বৈধ ইনপুট?
গামা ফাংশন

উত্তর:


6

05 এ বি 1 ই , 20 19 বাইট

'?åi',¡”€–”0ǝθ¨ë”…Ü

-১ বাইট @ গ্রিমিকে ধন্যবাদ ।

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

'?åi          '# If the (implicit) input contains a "?":
    ',¡       '#  Split the (implicit) input on ","
       ”€–”    #  Push dictionary string "Not"
           0ǝ  #  Insert it at the first position (index 0) in the list
       θ       #  Then get the last item of the list
        ¨      #  And remove the last character
               #  (either the "?" of the original input; or the "t" in "Not")
      ë        # Else:
       ”…Ü     #  Push dictionary string "Yes"
               # (after which the top of the stack is output implicitly as result)

আমার এই 05AB1E ডগা দেখুন (অধ্যায় কিভাবে অভিধান ব্যবহার করতে হয়? ) কেন বুঝতে ”€–”হয় "Not"এবং ”…Üহয় "Yes"



@ গ্রিমি ওহ, স্মার্ট চিন্তাভাবনা। ধন্যবাদ! :)
কেভিন ক্রুইজসেন

8

পাইথন 3 , 62 বাইট

lambda s:['Yes',*s[:-1].split(','),'No'][~(','in s)*('?'in s)]

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

স্ট্রিংটিতে একটি না থাকলে অন্যটি (যেমন ) স্ট্রিংটিতে একটি না থাকে এবং অন্যথায় (অর্থাত্ শেষের অক্ষরটি বাদ দিয়ে স্ট্রিংয়ের শেষ কমা-বিভাজিত বিভাগ ) এক্সপ্রেশনটি (অর্থাত্ ) ~(','in s)*('?'in s)মূল্যায়ন করে ।0'Yes''?'-1'No'','-2


5

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

s=>(m=s.match(/(,?)([^,]*)\?/))?m[1]?m[2]:'No':'Yes'

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

মন্তব্য

s =>                  // s = input string
  ( m = s.match(      // m is the result of matching in s:
  //     +------------>    an optional comma
  //     |     +------>    followed by a string containing no comma
  //     |     |   +-->    followed by a question mark
  //   <--><-----><>     
      /(,?)([^,]*)\?/
  )) ?                // if m is not null:
    m[1] ?            //   if the comma exists:
      m[2]            //     output the string following it
    :                 //   else:
      'No'            //     output 'No'
  :                   // else:
    'Yes'             //   output 'Yes'

ওয়েলপ, জেএস সমাধানের সন্ধান করছিল, এই আকারের দ্বিগুণ কিছু দিয়ে শেষ হয়েছিল।
এলোমেলো লোক

4

কাঠকয়লা , 23 22 বাইট

¿№θ?¿№θ,⁻⊟⪪θ,¦?¦No¦Yes

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। সম্পাদনা: @ কেভিনিক্রুজসেনকে ধন্যবাদ 1 বাইট সংরক্ষিত। ব্যাখ্যা:

¿№θ?

স্ট্রিংটিতে কোনও ?এস রয়েছে?

¿№θ,

এটি কোন ,এস আছে?

⊟⪪θ,

স্ট্রিংটি ,এস এ বিভক্ত করুন এবং শেষটি নিন।

⁻...?

?ফলাফলটি আউটপুট এবং মুছুন ।

No

যদি কোনও ,এস না থাকে তবে আউটপুট No

Yes

যদি কোনও ?এস না থাকে তবে আউটপুট Yes


-1 এ পরিবর্তন Print(Join(Split(Pop(Split(q, ",")), "?"), w)হচ্ছেPrint(Minus(Pop(Split(q, ",")), "?");
কেভিন ক্রুইজসেন

@KevinCruijssen ধন্যবাদ, আমি ভুলেই গিয়েছিলাম যে Minusকরেনি যে। পাশাপাশি, আমি দুটি বিভাজনকারীকে বাঁচানোর জন্য নিজেকে সন্তুষ্ট বোধ করছি।
নীল





3

রেটিনা , 32 28 বাইট

^'?K`Yes
.+,(.*)\?
$1
'?K`No

@ নীল থেকে টিপস সহ -4 বাইট ।

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

ব্যাখ্যা:

   K`       # Replace any (implicit) input, which does
^           # NOT
 '?        '# contain a "?"
     Yes    # with "Yes"

.+          # Match 1 or more characters
  ,         # followed by a comma
    .*      # followed by zero or more characters,
   (  )     # (captured in capture group 1)
       \?   # followed by a (trailing) "?"
$1          # And replace it with just the match of capture group 1,
            # (so everything between the last comma and trailing question mark)

  K`        # Replace any remaining string, which does
'?         '# contain a "?"
    No      # with "No"

            # (after which the result is output implicitly)

আপনি কি জানেন যে রেটিনা 1 এর Kমঞ্চে একটি অন্তর্নির্মিত শর্ত রয়েছে? আমি না। এটি সম্ভবত আপনাকে কয়েকটি বাইট সংরক্ষণ করতে পারে।
নিল

@ নীল আমি নিশ্চিত নই যে কীভাবে শৃঙ্খলাবদ্ধ করতে হবে Kএবং &সম্পূর্ণ সৎ হতে শর্তাধীন । আমি কীভাবে ব্যবহার করবেন তা জানতে Kএকটি Regex মেলে দিয়ে ভালো , কিন্তু কিভাবে আমি এটা দিয়ে একত্রিত শর্তসাপেক্ষ করার অনুকরণমূলক একটি তিন যদি 'অন্য জন্য Yes/ No?
কেভিন ক্রুইজসেন

আপনার দরকার নেই &, যা আমাকে বিস্মিত করেছে এবং আপনি কেবল একটি স্ট্রিং বা আরও ভাল একটি চরিত্রের সাথে মিলতে পারেন, যেহেতু আপনি জানেন যে কোনওটি ?অবশ্যই শেষের দিকে হতে হবে।
নীল

@ নীল তাই, এরকম? যা স্পষ্টতই 32 বাইট।
কেভিন ক্রুইজসেন

1
বেশ নয়; আপনি এখনও একটি রেজেক্সের সাথে মিল করছেন তবে এর পরিবর্তে আপনি স্ট্রিং বা চরিত্রের অনুমতি পেয়েছেন।
নীল

2

আইবিএম / লোটাস নোটস সূত্র, by৯ বাইট

@If(@Ends(i;"?");@If(@Contains(i;",");@Left(@RightBack(i;",");"?");"No");"Yes")

সূত্রের জন্য টিআইও নেই তাই ...

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


2

পাইথন 3 , 98 87 বাইট

-9 বাইটস এলপেড্রোকে ধন্যবাদ

x=input();o="Yes"
if"?"==x[-1]:o=x[(x.rfind(",")+1):-1]if x.count(",")else"No"
print(o)

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

এটি অন্য উত্তরগুলির দ্বারা শক্তভাবে পরাজিত হয়েছে, তবে আমি পাইথনে আরও কিছুটা গল্ফ করার চেষ্টা করছি। পরামর্শ প্রশংসা করা হয়!


1
আপনি এক মুদ্রণ ব্যবহার করতে পারেন নিয়োগ এড়াতে, তারপর একটি ল্যামডা ব্যবহার করেন, তারপর ইনলাইন কমান যেহেতু এটি এখন শুধু একটা বিবৃতি ifএকটি তালিকা ইন্ডেক্স করতে বিবৃতি পরিবর্তে এবং তারপর ব্যবহার অবস্থার কমান in, তাহলে এটি সব আউট নিক্ষেপ করা হয়েছে কারণ এটি খুব ঘনিষ্ঠ এর একটি বিদ্যমান উত্তর
জো কিং

এটিকে 87 এ নামানোর জন্য আপনার আসল পদ্ধতির পরিবর্তন না করে বেশ কয়েকটি গল্ফ অনলাইনে দেখুন!
এলপেড্রো

আপনি একটি বাইট সংরক্ষণ করে এর if x.count(",")সাথে প্রতিস্থাপন করতে পারেন if~x.find(",")। স্ট্রিংটি পাওয়া না গেলে তার str.findমূল্যায়ন করে -1। আপনি যদি এটি অ্যানারি অপারেটরের সাথে পরিপূরক করেন 0তবে এর ফলাফল কেবল যদি এবং কেবল স্ট্রিংগুলি উপস্থিত না থাকে তবেই ঘটে । বিকল্পভাবে, আপনি এটি if","in x 4 বাইট কম জন্য প্রতিস্থাপন করতে পারেন ।
জিতসে






1

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 72 বাইট

x=>x.Last()!=63?"Yes":x.Contains(',')?x.Split(',').Last().Trim('?'):"No"

@ সোমোনকে ধন্যবাদ 2 বাইট সংরক্ষণ করা

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


SkipLast(1) -> Trim('?')জন্য - ??? বাইটস যতদূর আমি দেখতে পেয়েছি (আমার সমস্ত প্রচেষ্টা বিভিন্ন সংখ্যার পার্থক্যের ফলাফল গণনা করার জন্য)
আমার সর্বনাম

1

পাইথন 2 , 66 63 62 বাইট

lambda i:("Yes",("No",i[i.rfind(",")+1:-1])[","in i])["?"in i]

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

-3 আপডেট হওয়া স্পষ্টতা স্পষ্ট করার পরে "ইনপুটটিতে কেবল একটি থাকবে? এবং এটি সর্বদা সর্বশেষ চরিত্র হবে।"

@ চ্যাসব্রাউনকে ধন্যবাদ জানাতে

মূলত আমার লোটাস নোটের উত্তর বন্দর । কৌতূহলজনকভাবে, উপরে বর্ণিত স্পষ্টকরণ নোটের উত্তরগুলিতে সহায়তা করে না কারণ @Ends4 বাইটের চেয়ে কম সস্তা @Contains। এখন যদি কেবল কোনও @Inঅনুষ্ঠান হয় ...




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