সোমবার মিনি-গল্ফ # 5: <s> করবেন না </ s> বাড়িতে এটি চেষ্টা করুন


24

সোমবার মিনি-গল্ফ: সংক্ষিপ্ত প্রশ্নের একটি সিরিজ , পোস্ট করা (আশাবাদী!) প্রতি সোমবার।

কখনও কখনও লোকেরা জীবনের নিয়মে ক্লান্ত হয়ে পড়ে: "এটি করবেন না", "আপনি এটি করতে পারবেন না", "আমরা আপনাকে এটি করতে দেব না"। এটা সত্যিই সীমাবদ্ধ মনে হতে পারে! তবে প্রতিবার এবং পরে, কিছুটা মজা নেওয়া ভাল, সুতরাং এই বিধিগুলি সংশোধন করার জন্য কিছু কোড লিখি। এবং যখন আমরা এটি করছি তখন অন্যান্য নেতিবাচকতাও সংশোধন করতে পারে। (অবশ্যই, এই পরিবর্তনগুলি কেবল অস্থায়ী হবে না , তাই আমরা মূল শব্দটিও ছেড়ে দেব))

চ্যালেঞ্জ

আপনার চ্যালেঞ্জটি হ'ল এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা এইচটিএমএল <s>স্ট্রাইকথ্রুগুলিকে</s> সীমাবদ্ধ শব্দের চারপাশে রাখে — অর্থাত্ শব্দগুলি এর শেষে n'tবা এরপরে অনুসরণ করা হয় not- এবং এর প্রত্যেকটির পরে, সমস্ত ক্যাপগুলিতে এর ইতিবাচক সমতুল্য সন্নিবেশ করে। শেষে, কোনও স্থানের পরে, প্রতিস্থাপনের সংখ্যাটি অন্তর্ভুক্ত করা উচিত। উদাহরণ স্বরূপ:

Please don't jump into the pool.

হয়ে

Please <s>don't</s> DO jump into the pool. 1

(পাশাপাশি পাশাপাশি ) শেষ হওয়া n'tবা অনুসরণ করা শব্দের জন্য , ইতিবাচক সমতুল্য হ'ল পূর্বোক্ত (স্পেস ব্যতীত) সমস্ত কিছু। আমি যা বলতে চাইছি তা এখানে:notcannotnot

  • do not speak হয়ে <s>do not</s> DO speak
  • it doesn't work হয়ে it <s>doesn't</s> DOES work
  • we cannot হয়ে we <s>cannot</s> CAN

তবে, কয়েক ব্যতিক্রম আছে। এগুলি সঠিকভাবে পরিচালিত হয়েছে তা নিশ্চিত করুন।

can't -> <s>can't</s> CAN
won't -> <s>won't</s> WILL
ain't -> <s>ain't</s> AM
shan't -> <s>shan't</s> SHALL
I'm not -> <s>I'm not</s> I AM
you're not -> <s>you're not</s> YOU ARE

বিস্তারিত

  • ইনপুটটিতে কখনই কোনও স্পেসস্পেস থাকবে না সাধারণ জায়গাগুলি (কোনও ট্যাব, নিউলাইন ইত্যাদি)।
  • ইনপুটটিতে কোনও ডাবল নেগেটিভ কখনই থাকবে না (যেমন we can't not do this)।
  • যদি কোনও notবিরাম চিহ্নের সাথে সাথে উপস্থিত হয় বা অন্য শব্দের অংশ হিসাবে থাকে তবে তা ছেড়ে দিন it
  • <s></s>ট্যাগগুলির মধ্যে আপার / লোয়ারকেস সহ মূল পাঠ্যটি সংরক্ষণ করার বিষয়ে নিশ্চিত হন ।
  • আপনি যদি চান তবে আপনি <strike></strike>এর জায়গায় ব্যবহার করতে পারেন <s></s>

টেস্ট-মামলা

ইনপুট:

I'm sorry, but you can't do that.
Driving on the beach isn't allowed.
Driving on the beach is not allowed.
Please don't jump in; I cannot imagine what might come of that.
Don't worry; we won't get into trouble.
I'm not perfect, but you're not either.
You shan't do it 'cause I ain't doin' it!
Can't we capitalize special cases?
I don't like the words can't, shan't, won't, don't, ain't, or ppcgn't.
Oh, this? It's nothing.
Tie a slipknot in the rope.
Would you like Pinot Noir?
This sentence contains none of the replacement words. Not even knot or ca't.
This sentence doesn't contain one of the replacement words.

আউটপুট:

I'm sorry, but you <s>can't</s> CAN do that. 1
Driving on the beach <s>isn't</s> IS allowed. 1
Driving on the beach <s>is not</s> IS allowed. 1
Please <s>don't</s> DO jump in; I <s>cannot</s> CAN imagine what might come of that. 2
<s>Don't</s> DO worry; we <s>won't</s> WILL get into trouble. 2
<s>I'm not</s> I AM perfect, but <s>you're not</s> YOU ARE either. 2
You <s>shan't</s> SHALL do it 'cause I <s>ain't</s> AM doin' it! 2
<s>Can't</s> CAN we capitalize special cases? 1
I <s>don't</s> DO like the words <s>can't</s> CAN, <s>shan't</s> SHALL, <s>won't</s> WILL, <s>don't</s> DO, <s>ain't</s> AM, or <s>ppcgn't</s> PPCG. 7
Oh, this? It's nothing. 0
Tie a slipknot in the rope. 0
Would you like Pinot Noir? 0
This sentence contains none of the replacement words. Not even knot or ca't. 0
This sentence <s>doesn't</s> DOES contain one of the replacement words. 1

স্কোরিং

এটি , তাই বাইট জেতে সংক্ষিপ্ততম বৈধ কোড। টাইব্রেকার সাবমিশনে যায় যা তার চূড়ান্ত বাইট গণনাটি প্রথম পৌঁছেছিল। আগামী ২ অক্টোবর সোমবার বিজয়ী নির্বাচিত হবে না Good শুভকামনা!


@ ফ্রাইআম দ্য এজিগম্যান হ্যাঁ, তালিকায় যুক্ত হওয়ার মতো আরও কিছু না থাকলে। আমি বরং এটি ছোট রাখব, তবে আপনার কি কোনও পরামর্শ আছে?
ইটিএইচ প্রডাকশনগুলি

নাহ, চ্যালেঞ্জ সিন্ড্রোমের "আপনি এখন সেই
চর্চাকে বদলে ফেলেন

1
প্রস্তাবিত পরীক্ষার কেস:Can't we capitalize special cases?
DLosc

আমাদের মতো স্ট্রিংগুলি: Oh this? It's nothing...বা I wonder if we'll notice any words like this??
ডম হেস্টিংস

2
একটি <স্ট্রাইক> না </ স্ট্রাইক> মেমসকে কেবল প্রতিযোগিতায় রূপান্তর করে না!
জানুয়ারি

উত্তর:


7

পিপ , 138 140 বাইট

Yeesh, যে cannot/ knotপার্থক্য চতুর হয়।

x:"ca wo ai sha i'm you're"^sY"CAN0WILL0AM0SHALL0I AM0YOU ARE"^0OqR-`([\w']+)( no|n'|(?<=can)no)t\b`{++i"<s>".a."</s>".s.((yx@?LCb)|UCb)}s.i

স্টিডিন থেকে স্ট্যান্ডআউট আউটপুট থেকে একটি লাইন পড়ে। রেজেক্স:

`([\w']+)( no|n'|(?<=can)no)t\b`

তিনটি জিনিসের একটির পরে একটি শব্দের সাথে মিল রয়েছে (অ্যাস্ট্রোফেস সহ):

  • not
  • n't
  • not কোনও স্থান ছাড়াই শর্তের প্রথমার্ধটি দেওয়া হয়েছিল can

-একটি Regex উপর অপারেটর এটা কেস-অবশ করে তোলে।

ম্যাচগুলি নিম্নলিখিত ফাংশনের ফলাফলের সাথে প্রতিস্থাপিত হয়। (দ্রষ্টব্য: ফাংশনের মধ্যে aপুরো ম্যাচটি bহ'ল এবং গ্রুপ ১ টি ক্যাপচার করবে)

{++i"<s>".a."</s>".s.((yx@?LCb)|UCb)}
 ++i                                   Increment counter
    "<s>".a."</s>"                     Return entire match wrapped in HTML tags...
                  .s.(             )   plus space, plus the following:
                           LCb         Lowercase first capture group
                        x@?            Find its index in list x of special cases (nil if
                                         not in list)
                      (y      )        Use that as index into list y of replacements
                               |UCb    If it wasn't a special case, this is nil, and we
                                         instead use uppercase(b)

পরিবর্তিত স্ট্রিং হয়ে গেলে, আমরা একটি স্থান এবং প্রতিস্থাপনের সংখ্যাও আউটপুট করি i


3

জিএনইউ শেড, 321 বাইট

(এর জন্য +1 সহ -r)

:
s!(can('|no)t)([^<])!<s>\1</s> CAN\3!i
s!(won't)([^<])!<s>\1</s> WILL\2!i
s!(ain't)([^<])!<s>\1</s> AM\2!i
s!(shan't)([^<])!<s>\1</s> SHALL\2!i
s!(I'm not)([^<])!<s>\1</s> I AM\2!i
s!(you're not)([^<])!<s>\1</s> YOU ARE\2!i
t
s!(([^ .!?]+)(n't| not))([^<])!<s>\1</s> \U\2\4!i
t
h
s/1//g
s/<s>/1/g
s/[^1]//g
x
G
s/\n/ /

"স্ট্রিং প্রতিস্থাপন - একটি চাকুরীর জন্য!" আমি ভাবি. তবে এটি আশ্চর্যজনকভাবে শক্ত ছিল এবং আমি মূল পাঠ্যের প্রতিস্থাপনের সাথে চালিত হয়েছি। আর গণনা! কমপক্ষে প্রশ্নে আনারিতে নিষেধাজ্ঞার কোনও কারণ নেই ...


2

পার্ল, 153 বাইট

150 স্ক্রিপ্ট + 3 এর জন্য -p

$c=0|s!\b((ca)nnot|([\w']+)(?: not|n't))\b!"<s>$&</s> ".uc({ai,AM,ca,CAN,wo,WILL,sha,SHALL,"i'm","I AM","you're","YOU ARE"}->{lc$+}||$+)!egi;s/
/ $c
/

সুতরাং আমি এখন সমস্ত পরীক্ষার কেসের সাথে মেলে তবে এই রেজেক্সটি আমার খুব ব্যয় করেছে ... আমি এটি নিয়ে ভাবব!

উদাহরণ আউটপুট:

$perl -p can.pl <<< "I'm sorry, but you can't do that.
Driving on the beach isn't allowed.
Driving on the beach is not allowed.
Please don't jump in; I cannot imagine what might come of that.
Don't worry; we won't get into trouble.
I'm not perfect, but you're not either.
You shan't do it 'cause I ain't doin' it!
Can't we capitalize special cases?
I don't like the words can't, shan't, won't, don't, ain't, or ppcgn't.
Oh, this? It's nothing.
This sentence contains none of the replacement words. Not even knot or ca't.
This sentence doesn't contain one of the replacement words.
Tie a slipknot in the rope.
Would you like Pinot Noir?
You cannot be serious\!"
I'm sorry, but you <s>can't</s> CAN do that. 1
Driving on the beach <s>isn't</s> IS allowed. 1
Driving on the beach <s>is not</s> IS allowed. 1
Please <s>don't</s> DO jump in; I <s>cannot</s> CAN imagine what might come of that. 2
<s>Don't</s> DO worry; we <s>won't</s> WILL get into trouble. 2
<s>I'm not</s> I AM perfect, but <s>you're not</s> YOU ARE either. 2
You <s>shan't</s> SHALL do it 'cause I <s>ain't</s> AM doin' it! 2
<s>Can't</s> CAN we capitalize special cases? 1
I <s>don't</s> DO like the words <s>can't</s> CAN, <s>shan't</s> SHALL, <s>won't</s> WILL, <s>don't</s> DO, <s>ain't</s> AM, or <s>ppcgn't</s> PPCG. 7
Oh, this? It's nothing. 0
This sentence contains none of the replacement words. Not even knot or ca't. 0
This sentence <s>doesn't</s> DOES contain one of the replacement words. 1
Tie a slipknot in the rope. 0
Would you like Pinot Noir? 0
You <s>cannot</s> CAN be serious\! 1

বাহ, এটা কমপ্যাক্ট! একটি ইস্যু: I'm notসঠিকভাবে কাজ করছে না - এটির I AMপরিবর্তে হওয়া উচিত I'M। কিন্তু আমি আপনি শুধু পরিবর্তন করতে হবে মনে I'mকরার i'mএটা ঠিক করার কোডে।
DLosc

ওহ - এছাড়াও, এর মতো বাক্যে Tie a slipknot in the rope.বা চেষ্টা করে দেখুন Would you like Pinot Noir?। তারা পরীক্ষা ক্ষেত্রেই এখনো, কিন্তু ওপি এর উদ্দেশ্য কোন শব্দ শেষ হওয়া বাদ দেওয়ার ছিল notব্যতীত cannot
DLosc

@ ডিএলসকে দুর্দান্ত পরীক্ষার মামলা! আমি আর কোন শব্দ শেষ হতে ভাবতে পারি না not! I'mএকটি খারাপ মিস ছিল, স্পট করার জন্য ধন্যবাদ!
ডম হেস্টিংস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.