একটি উপসর্গের জন্য পাঠ্য অনুসন্ধান করুন এবং পাঠ্যটিতে এর সমস্ত প্রত্যয় তালিকাভুক্ত করুন


17

আমি "উপসর্গটি অনুসরণ করে এমন কোনও উপ-স্ট্রিং" মানে এই জন্য এখানে "প্রত্যয়" আলগাভাবে ব্যবহার করি।

"উপসর্গ" এর অর্থ শব্দের শুরু, যেখানে কোনও শব্দের সূচনা স্থানের পরে বা ইনপুট পাঠ্যের প্রথম অক্ষর (প্রথম শব্দের জন্য) হিসাবে সংজ্ঞায়িত করা হয়। শব্দের মাঝখানে একটি "উপসর্গ" উপেক্ষা করা হয়।

যেমন যদি আপনার ইনপুট উপসর্গটি "বাহু" হয় এবং ইনপুট পাঠ্যটি "ডাম্বলডোরের সেনাবাহিনী আসন্ন আর্মেজেডনের জন্য পুরোপুরি সজ্জিত ছিল" তবে আউটপুট তালিকায় (y, ed, বয়সডন) থাকে contains

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

কেস-সংবেদনশীল ধরে নিও, স্ট্রিংগুলি ফাঁকা স্থানের পরে শেষ হয়। ইনপুট কোনও স্থান দিয়ে শুরু হবে না।

সদৃশ অপসারণ alচ্ছিক।


Input prefix: "1"

Input text:

"He1in aosl 1ll j21j 1lj2j 1lj2 1ll l1j2i"

Output: (ll, lj2j, lj2) - in any permutation

Input prefix: "frac"

Input text: 

"fracking fractals fracted fractional currency fractionally fractioned into fractious fractostratic fractures causing quite a fracas"

Output: (king, tals, ted, tional, tionally, tioned, tious, tostratic, tures, as)

Input prefix: "href="https://www.astrotheme.com/astrology/"

Input text: 

"(div style="padding: 0; background: url('https://www.astrotheme.com/images/site/arrondi_450_hd.png') no-repeat; text-align: left; font-weight: bold; width: 450px; height: 36px")
  (div class="titreFiche" style="padding: 5px 0 0 6px")(a href="https://www.astrotheme.com/astrology/Nolwenn_Leroy" title="Nolwenn Leroy: Astrology, birth chart, horoscope and astrological portrait")Nolwenn Leroy(br /)
(/div)
  (div style="text-align: right; border-left: 1px solid #b2c1e2; border-right: 1px solid #b2c1e2; width: 446px; padding: 1px 1px 0; background: #eff8ff")
    (table style="width: 100%")(tr)(td style="width: 220px")
(div style="padding: 0; background: url('https://www.astrotheme.com/images/site/arrondi_450_hd.png') no-repeat; text-align: left; font-weight: bold; width: 450px; height: 36px")
  (div class="titreFiche" style="padding: 5px 0 0 6px")(a href="https://www.astrotheme.com/astrology/Kim_Kardashian" title="Kim Kardashian: Astrology, birth chart, horoscope and astrological portrait")Kim Kardashian(br /)(span style="font-weight: normal; font-size: 11px")Display her detailed horoscope and birth chart(/span)(/a)(/div)
(/div)
(div style="padding: 0; background: url('https://www.astrotheme.com/images/site/arrondi_450_hd.png') no-repeat; text-align: left; font-weight: bold; width: 450px; height: 36px")
  (div class="titreFiche" style="padding: 5px 0 0 6px")(a href="https://www.astrotheme.com/astrology/Julia_Roberts" title="Julia Roberts: Astrology, birth chart, horoscope and astrological portrait")Julia Roberts(br /)(span style="font-weight: normal; font-size: 11px")Display her detailed horoscope and birth chart(/span)(/a)(/div)
    (td id="cfcXkw9aycuj35h" style="text-align: right")
  (/div)"

Output: (Nolwenn_Leroy", Kim_Kardashian", Julia_Roberts")

বিজয়ী

এটি , তাই সবচেয়ে কম বাইট জিতেছে। :)

যতক্ষণ না আপনার কোড পরীক্ষার ক্ষেত্রে যেমন স্বেচ্ছাচারিত সমস্যা সমাধান করতে পারে ততক্ষণ ইনপুটগুলি যেভাবে কাজ করে তা গ্রহণ করতে পারে।


2
স্পষ্ট করে বলতে গেলে, একটি শব্দের শুরুতে উপসর্গটি থাকতে হবে? যদি দ্বিতীয় পরীক্ষার ক্ষেত্রে এর মধ্যে 'ডিফারকশন' শব্দটি থাকে, তবে আউটপুটটি কী পরিবর্তন হবে?
- মনিকা পুনরায় ইনস্টল করুন

2
https://www.astrotheme.com/astrology/এটির পূর্ববর্তী যখন কীভাবে উপসর্গ হতে পারে href="?
নীল

1
প্রত্যয়টি খালি থাকতে পারে?
ব্যবহারকারী 202729

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

1
-1 এখন অন্যান্য সাদা স্থানগুলিতে বিভক্ত করার অনুমতি দেয়। এই চ্যালেঞ্জটি মূলত ছিল তা বোঝার জন্যই তা বোঝাত কিন্তু এখন পরিবর্তনের ফলে উত্তরগুলি দুটি পৃথক কাজ করে এমন দুটি অংশে বিভক্ত হবে। এবং এটি এমন মামলার মতো নয় যেখানে কিছু ভাষা উদাহরণস্বরূপ পরিচালনা করতে পারে না। -৪-বিট সংখ্যা বা কিছু, এখানে এর অর্থ হ'ল সামান্য (সম্ভবত) আরও জটিল ম্যাচ প্রয়োগ করা , সুতরাং ভুল অনুমানগুলি সহ উত্তরগুলি সংশোধন করা এবং এটিও পরীক্ষা করার জন্য সম্ভবত একটি পরীক্ষার কেস যুক্ত করা আরও বোধগম্য।
সূন্দর - মনিকা

উত্তর:


5

আর , 63 বাইট

function(s,p,z=el(strsplit(s,' ')))sub(p,'',z[startsWith(z,p)])

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

ইতিবাচক চেহারাটির বাস্তবায়নটি বিশাল regmatches/gregexprসংমিশ্রণের কারণে দুর্ভাগ্যক্রমে 5 বাইট দীর্ঘ :

function(s,p)regmatches(s,gregexpr(paste0('(?<=',p,')[^ ]*'),s,,T))

2
একটি নিখুঁত উপ (গ্রেপ ()) at 66-র উপরে নজরদারি করার চেয়ে কিছুটা ভাল, তবে এখনও শুরুর সাথে অজানা হয় না ()। পদ্ধতির পরিবর্তন ছাড়াই এখানে উন্নতির খুব বেশি জায়গা আমি দেখতে পাচ্ছি না। এটি অনলাইন চেষ্টা করুন!
অপরাধমূলকভাবে

4

জেলি , 12 বাইট

Ḳfṛ"€¥Ḋ€ṫ€L}

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


শিল্পকর্ম. : ') এইচটিএমএলকে তালিকায় পার্স করার জন্য এটি ব্যবহার করা হবে, আপনাকে অনেক ধন্যবাদ। :)
ড্রকোয়ারিয়াস

2
@ ড্রিকিয়ারিয়াস রেজেেক্স এইচটিএমএলকে পার্স করতে পারে না , এবং জেলিও তাই।
ব্যবহারকারী 202729

আমার কাছে ঠিক আছে বলে মনে হচ্ছে । নিশ্চিত না কেন?
DrQuarius

1
@ ড্রিকিয়ারিয়াস এটি একটি বিখ্যাত রসিকতা এবং ব্যবহারকারী ২২২২২৯ এটি বাড়িয়েছে।
এরিক আউটগল্ফার

4

জাপট , 9 বাইট

8 টি বাইট যদি আমরা শব্দের অ্যারে হিসাবে ইনপুট নিতে পারি।

¸kbV msVl
¸         // Shorthand for `qS`, split into words.
 kbV      // Filter the words, selecting only those that start with the prefix.
     msVl // For each remaining word, remove prefix length chars from the start.

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


খুব সুন্দর, তবে শেষের পরীক্ষার ক্ষেত্রে এটি কাজ করছে বলে মনে হচ্ছে না । স্ট্রিং ভিতরে কোটেশন চিহ্ন কারণে হতে পারে? বা নতুন লাইন?
DrQuarius

@ ড্রিকিয়ারিয়াস আপনার শেষ পরীক্ষার কেস ত্রুটিযুক্ত, তাই না? আপনি যে সমস্ত স্ট্রিংটি সন্ধান করছেন সেগুলি শব্দ (শব্দে ঘিরে url('')) এর মাঝে রয়েছে, এর কোনওটি শুরুতে নেই।
নিট


4

সি (জিসিসি) , 113 109 106 105 বাইট

-৪ বাইটস @ ল্যাম্বদাবেতা ধন্যবাদ!
-3 বাইটস @ উইন্ডমিলকুকিজকে ধন্যবাদ!

i;f(char*s,char*t){for(i=strlen(s);*t;t++)if(!strncmp(t,s,i))for(t+=i,puts("");*t^32&&*t;)putchar(*t++);}

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


1
আপনি উভয় ^0এর অপসারণ করে 4 বাইট সংরক্ষণ করতে পারেন । Just ;*t;and&&*t;
লাম্বদাবেতা

@ লাম্বদাবেতা ধন্যবাদ! আমি সেটা মিস করছিলাম.
betseg

1
আমি এটি একটি ভিন্ন কৌশল ব্যবহার করে 107 এ নামতে সক্ষম হয়েছি , দুঃখিত :)
লাম্বদাবেতা

@ লাম্বদাবেতা আমি আসলে সেই পদ্ধতিটিই ভেবেছিলাম তবে আমি মনে করি না যে এটি পোস্ট করা সমাধানের চেয়ে এটি আরও কম হবে। ভাল উত্তর, upvated।
betseg

1
পুটচরের পরিবর্তে ব্যবহৃত পুটস, এখন 107, বিভিন্ন লাইনে আউটপুট: tio.run/…
উইন্ডমিল কুকিজ

3

জাপট , 16 12 বাইট

আর্নৌল্ড উত্তর বন্দর

@ শেগি থেকে -4 বাইট

iS qS+V Å®¸g

iS                  Insert S value (S = " ") at beginning of first input (Implicit)
   q                split using
    S+V             S + Second input
        Å           slice 1
         ®          map
          ¸         split using S
           g        get first position

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



সম্ভবত এটি উল্লেখ করা উচিত যে এটি আর্নল্ডের সমাধানের বন্দর। (ধরে নিচ্ছি এটি স্বাধীনভাবে উত্পন্ন হয়নি, অবশ্যই)
শেগি

@ শেগি সত্যিই আমি লক্ষ্য করি না যে এটি একই উত্তর ছিল, যাইহোক আমি তাকে ক্রেডিট দেব। দুঃখিত
লুইস ফিলিপ দে জেসুস মুনোজ

যদি আপনি এটি ব্যবহার করে দেখতে চান তবে একটি 9 বাইট সমাধান রয়েছে।
শেগি

@Shaggy আপনি কি বোঝাতে চেয়েছেন এই বা আপনি মনের মধ্যে ভিন্ন কিছু ছিল?
নাইট

3

05 এ বি 1 , 11 বাইট

#ʒηså}εsgF¦

এটি অনলাইন চেষ্টা করুন! ( মাল্টলাইন স্ট্রিংয়ের জন্য এখানে একটি ডেমো রয়েছে)

এটা কিভাবে কাজ করে?

# ʒηså} gsgF¦ সম্পূর্ণ প্রোগ্রাম।
# ফাঁকে ফাঁকে প্রথম ইনপুট বিভক্ত করুন।
 words by শব্দগুলি ফিল্টার করুন ...
  åså ... "দ্বিতীয় ইনপুটটি কি শব্দের উপসর্গটিতে ঘটে?"
      each এবং প্রতিটি বৈধ শব্দের জন্য
       এসজি দ্বিতীয় ইনপুটটির দৈর্ঘ্য পুনরুদ্ধার করুন।
         F¦ এবং শব্দের প্রথম অক্ষরটিকে সেই সংখ্যার বার করে দিন।

:) খুব সুন্দর, মাল্টলাইন ডেমো জন্য ধন্যবাদ! আমি মনে করি এটি অন্যান্য প্রোগ্রামগুলির জন্য সমস্যা সৃষ্টি করেছিল।
DrQuarius

3

স্ট্যাক্স , 8 বাইট

·B¬╤²*6&

এটি চালান এবং এটি ডিবাগ করুন

ব্যাখ্যা:

j{x:[fmx|- Full program, implicit input: On stack in order, 1st input in X register
j          Split string on spaces
 {   f     Filter:
  x:[        Is X a prefix?
      m    Map passing elements:
       x|-   Remove all characters in X the first time they occur in the element
             Implicit output

আমি ব্যবহার করতে পারি x%t(এক্স দৈর্ঘ্য, বাম থেকে ছাঁটা), যা সমান লম্বা তবে 9 বাইটে প্যাক করে


সুন্দর। :) আমি মনে করি এটিই বিজয়ী হতে পারে। সর্বনিম্ন বাইট স্কোর প্রার্থী তৃতীয় পরীক্ষার কেস পার্স করতে সক্ষম হননি। :)
DrQuarius

আহ্ ... তবে আমি এখন দেখছি আপনি এটি কীভাবে করেছেন, আপনাকে প্রোগ্রামটি জানাতে হবে যে স্ট্রিংয়ের উদ্ধৃতি চিহ্নগুলি প্রোগ্রামটির অংশ ছিল না। আমি মনে করি ঠিক আছে। এছাড়াও, আপনার নির্বিশেষে এখনও সংক্ষিপ্ততম আপনার। :)
DrQuarius

3

রেটিনা , 31 বাইট

L`(?<=^\2¶(.|¶)*([^ ¶]+))[^ ¶]+

এটি অনলাইন চেষ্টা করুন! প্রথম লাইনটি পছন্দসই উপসর্গ হওয়া উচিত, বাকিটি ইনপুট পাঠ্য। সদৃশগুলি সরায় না। যদি কোনও সাদা স্থান বৈধ সেপ্রেটার হয় তবে 25 বাইট হবে। ব্যাখ্যা: আমরা বৈধ উপসর্গের প্রত্যয়গুলি তালিকাবদ্ধ করতে চাই। [^ ¶]+প্রত্যয় নিজেই সাথে মেলে। রেজিএক্সপেক্সের উপসর্গটি এমন একটি নজরদারি যা নিশ্চিত করে যে প্রত্যয়টির উপসর্গটি ইনপুট উপসর্গ। ডান-থেকে-বামদিকে যেমন নজরদারি করা হয় তেমনি এটি উপসর্গের সাথে মিলিয়ে শুরু হয় (একই প্যাটার্নটি ব্যবহার করে ()এটি ক্যাপচার করার জন্য অভ্যন্তরীণ ), তারপরে কোনও অক্ষর, শেষ পর্যন্ত ইনপুটটির শুরুতে নিজের লাইনে উপসর্গটি মিলানোর আগে।


শ্বেত স্থান মানে ফাঁকা জায়গা এবং / অথবা লাইন ব্রেক? আমি মনে করি এটি যদি একটি বৈধ সমাধান তবে তাই তবে সবার সাথে ন্যায্যতা বজায় রাখার মতোই আমি সমস্যাটি ছেড়ে দেব।
ড্রকোয়ারিয়াস

@ ড্রিকিয়ারিয়াস নং, যে কোনও সাদা জায়গাতে ট্যাব, ফর্মফিড এবং এমনকি উপবৃত্তও অন্তর্ভুক্ত রয়েছে ।
নিল

রেটিনা হ'ল প্রথম ভাষাটি যখন আমি পোস্টটি দেখলাম তখন মনে পড়েছিল (যদিও আমি এখনও ভাষাটি জানি না)। আমি ভেবেছিলাম যদিও এটি আরও কম হবে। আমি কি আপনাকে ব্যাখ্যার জন্য বিরক্ত করতে পারি? যেমন যেমন দস্তাবেজগুলি বলছে একটি নতুনলাইন চরিত্র, তবে কেন এতগুলি এখানে দরকার তা আমি বুঝতে পারি না।
সূন্দর - মনিকা

@ সুন্দর দুঃখিত আমি তখন কিছুটা ভিড় করেছিলাম। প্রথমটি নিশ্চিত করে যে পুরো প্রথম লাইনটি উপসর্গের সাথে মেলে। দ্বিতীয়টি দরকার কারণ এটি কতগুলি মধ্যবর্তী রেখা রয়েছে তা জানা যায়নি। শেষ দুটি কাজ একইভাবে কাজ - অবহেলিত চরিত্রের ক্লাসে সাধারণত নিউলাইনগুলি অন্তর্ভুক্ত থাকে তবে আমরা এখানে এটি চাই না।
নীল

কোনও সমস্যা নেই, এটি যুক্ত করার জন্য ধন্যবাদ। "সাধারণত নতুন লাইনের অন্তর্ভুক্ত থাকে তবে আমরা এটি এখানে চাই না" <- আমি যদি সঠিকভাবে বুঝতে পারি তবে আমরা এটি এখানে চাই। ওপি কঠোরভাবে সুনির্দিষ্ট করে যে কেবল স্থানগুলি পৃথককারী হিসাবে গণনা করা হয়, উপসর্গগুলি শুরু হয় এবং প্রত্যয়গুলি ফাঁকা জায়গায় শেষ হয়। যেমন উদাহরণস্বরূপ। "ফারাক" এর জন্য "ডিফার f n ফ্র্যাকশনাল" টি মিলবে না কারণ উপসর্গটি একটি নতুন লাইনের পরে আসে, স্থান নয়। একইভাবে "ফ্র্যাকচার- re n সম্পর্কযুক্ত" প্রত্যয় "ture- re n সম্পর্কযুক্ত" ফিরে আসা উচিত should আমি মনে করি এটি এখানে কোন ভাল খবর, কারণ আপনি কমপক্ষে একজনকে সম্ভবত মুছে ফেলতে পারেন ।
সূন্দর - মনিকা পুনরায় স্থাপন করুন

3

ব্র্যাচল্যাগ , 24 21 বাইট

tṇ₁W&h;Wz{tR&h;.cR∧}ˢ

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

ইনলাইন পূর্বাভাসের সাথে ভেরিয়েবল ভাগ করে নেওয়া থাকলে কয়েক বাইট সংক্ষিপ্ত হতে পারত।

ইনপুট হ'ল প্রথম উপাদান হিসাবে উপসর্গ এবং দ্বিতীয় উপাদান হিসাবে পাঠ্য with

tṇ₁W                    % Split the text at spaces, call that W
    &h;Wz               % Zip the prefix with each word, to give a list of pairs
         {         }ˢ   % Select the outputs where this predicate succeeds:
          tR            % Call the current word R
            &h;.c       % The prefix and the output concatenated
                 R      % should be R
                  ∧     % (No more constraints on output)

2

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

c:=@Explode(b);@Trim(@If(@Begins(c;a);@Right(c;a);""))

নামে দুটি ক্ষেত্র থেকে এটা ইনপুট লাগে aএবং b। ফর্মুলা একটি @Forলুপের প্রয়োজন ছাড়াই পুনরাবৃত্তভাবে একটি তালিকায় একটি ফাংশন প্রয়োগ করবে কারণ কাজ করে ।

কোনও টিআইও উপলব্ধ নেই তাই এখানে একটি স্ক্রিনশট রয়েছে:

enter image description here


2

এপিএল (ডায়ালগ ইউনিকোড) , 23 বাইট এসবিসিএস

পুরো প্রোগ্রাম। স্টিডিন থেকে পাঠ্য এবং উপসর্গের জন্য অনুরোধ জানানো হয়। প্রিন্ট তালিকা stdout।

(5'(\w+)\b',⎕)⎕S'\1'⊢⎕

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

 প্রম্পট (পাঠ্যের জন্য)

 ফলন যে ( '\1'থেকে পৃথক )

()⎕S'\1' পিসিআরআই নিম্নলিখিত রেজেজ থেকে 1 টি ক্যাপচার গ্রুপের অনুসন্ধান এবং ফেরতের তালিকা:

 প্রম্পট (উপসর্গের জন্য)

'(\w+)\b', এই স্ট্রিংটি পূর্বে যুক্ত করুন (শব্দের সীমানা অনুসারে শব্দ অক্ষরের গ্রুপ)

5⌽ প্রথম 5 টি অক্ষর শেষ দিকে ঘোরান; '\bPREFIX(\w+)'


2

সি (ঝনঝন) , 107 বাইট

i;f(s,t,_)char*s,*t,*_;{i=strlen(s);_=strtok(t," ");while((strncmp(_,s,i)||puts(_+i))&&(_=strtok(0," ")));}

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

বর্ণনা:

i;f(s,t,_)char*s,*t,*_;{   // F takes s and t and uses i (int) and s,t,u (char*)
    i=strlen(s);           // save strlen(s) in i
    _=strtok(t," ");       // set _ to the first word of t
    while(                 // while loop
        (strncmp(_,s,i)||  // short-circuited if (if _ doesn't match s to i places)
         puts(_+i))        // print _ starting at the i'th character
        &&                 // the previous expression always returns true
        (_=strtok(0," "))) // set _ to the next word of t
    ;                      // do nothing in the actual loop
}

ঝনঝন হতে হবে কারণ #include <string.h>স্ট্রোকক সমস্যার কারণে জিসিসি সেগফাল্টস।



2

এমএটিএল, 17 বাইট

Yb94ih'(.*)'h6&XX

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

কিভাবে?

Yb - ফাঁকা জায়গায় ইনপুট বিভক্ত করুন, ফলাফলগুলি একটি সেল অ্যারেতে রাখুন

94- ^চরিত্রের জন্য ASCII কোড

ih - ইনপুট পান ("frac" বলুন), কনটেনেট '^' এবং ইনপুট

'(.*)'h- '(.*)'স্ট্যাকের স্ট্রিংটি পুশ করুন , '^ frac' এবং '(। *)' এর সাথে যুক্ত করুন। সুতরাং এখন আমাদের কাছে '^frac(.*)একটি রেজেেক্স যা স্ট্রিংয়ের শুরুতে "frac" এর সাথে মেলে এবং যা কিছু পরে তা ক্যাপচার করে।

6&XX- 6&'টোকেনস' মোড নির্দিষ্টকরণের সাথে, ম্যাচ ক্যাপচার গোষ্ঠীগুলি পুরো ম্যাচের পরিবর্তে ফিরে আসে - রেগেক্সেপ ম্যাচ চালান ।

সুস্পষ্টভাবে ফলাফল আউটপুট।


সুতরাং যে কি 'Tokens'করে; জানা ভাল!
লুইস মেন্ডো

1
হা হা। আমারও কোনও ধারণা ছিল না, এই উত্তরটির জন্য এটি পরীক্ষা এবং ত্রুটির দ্বারা নির্ণয় করেছি।
- মনিকা পুনরায় ইনস্টল করুন


2

পাওয়ারশেল 3.0, 60 62 59 বাইট

param($p,$s)-split$s|%{if($_-cmatch"^$p(.*)"){$Matches[1]}}

Cmatch আউটপুট দমন করে কিছু বাইট হারিয়েছে। একটি জাঙ্কি সমাধান ছিল যা উদ্দেশ্যমূলকভাবে নকল তৈরি করে কিছু অর্জন করেছিল। এটি প্রথমটিতে মেলে না তবে এটি রেডলাইনও ছুঁড়েছে তবে এখন আমি এটি সম্পর্কে ভাবছি তা ঠিক নয়। এটি ঠিক করার জন্য +2 বাইট।


60 বাইট সহ সমাধান কিছু ক্ষেত্রে ডাবল উত্তর দেয় এবং উদাহরণস্বরূপ king, tals, ted, tional, tional, tionally, tioned, tioned, tious, tostratic, tures,tures,tures, tures, asসূচী ত্রুটি দেখায় He1in। পাওয়ারশেল 5.1, 6.0.2। 62 বাইট সহ সমাধান ঠিক আছে।
mazzy

1
@ মমজি আমি জানতাম যে, আমি "ডুপ্লিকেটগুলি অনুমোদিত" বিটটি গালি দিচ্ছিলাম যখন এটি কোনও নো-ম্যাচ জুড়ে আসে এবং এটি কোনও নন-ম্যাচের প্রথম পুনরাবৃত্তিতে লাল ছুঁড়ে ফেলে দেয় even
ভেস্কাহ




1

তুষ , 11 বাইট

হাস্কেল উত্তরের খুব সুন্দর একটি বন্দর :

m↓L⁰foΠz=⁰w

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

ব্যাখ্যা

m↓L⁰f(Πz=⁰)w  -- prefix is explicit argument ⁰, the other one implicit. eg: ⁰ = "ab" and implicit "abc def"
           w  -- words: ["abc","def"]
    f(    )   -- filter by (example w/ "abc"
       z=⁰    -- | zip ⁰ and element with equality: [1,1]
      Π       -- | product: 1
              -- : ["abc"]
m             -- map the following
 ↓            -- | drop n elements
  L⁰          -- | n being the length of ⁰ (2)
              -- : ["c"]

1

জেলি ,  11  9 বাইট

Ḳœṣ€ḢÐḟj€

ডায়াডিক লিঙ্কটি বামে পাঠ্য (অক্ষরের একটি তালিকা) এবং ডানদিকে উপসর্গ (অক্ষরের একটি তালিকা) গ্রহণ করে যা অক্ষরের তালিকার তালিকা তৈরি করে (ফলস্বরূপ প্রত্যয়)।

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

কিভাবে?

Ḳœṣ€ḢÐḟj€ - Link: text, prefix                        e.g. "fracfracit unfracked", "frac"
Ḳ         - split (text) at spaces -> list of words        ["fracfracit", "unfracked"]
   €      - for each (word):
 œṣ       -   split around sublists equal to (prefix)       ["","","it"]  ["un","ked"]
     Ðḟ   - filter discard items for which this is truthy:
    Ḣ     -   head
          -   -- Crucially this modifies the list:             ["","it"]       ["ked"]
          -   -- and yields the popped item:                 ""            "un"
          -   -- and only non-empty lists are truthy:       kept          discarded
          -            ...so we end up with the list:      [["","it"]]
        € - for each (remaining list of lists of characters):
       j  -   join with the prefix                          "fracit"                                             
          -                                                ["fracit"]

পূর্ববর্তী 11 বাইটার:

Ḳs€L}Ḣ⁼¥ƇẎ€

উপরের মতো একটি ডায়াডিক লিঙ্কও।

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


1

পার্ল 5 -asE, 23 22 21 বাইট (?) সহ

say/^$b(.*)/ for@F

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

কমান্ডলাইন ওয়ান-লাইনার হিসাবে perl -asE 'say/^$b(.*)/ for@F' -- -b=frac -বা শেষের জায়গায় কোনও ফাইলের নাম সহ চালানো যেতে পারে -
বা স্ক্রিপ্ট ফাইল থেকে, বলুনperl -as -M5.010 script.pl -b=frac - (এটি প্রকাশ করে টিআইও লিঙ্কটির জন্য @ ব্র্যাড গিলবার্ট বি 2 গিলসকে ধন্যবাদ)।

কোডটি নিজেই 18 বাইট, আমি -b=বিকল্পটির জন্য 3 বাইট যুক্ত করেছি যা $bকোডে নামক একটি ভেরিয়েবলের জন্য তার মান (উপসর্গ ইনপুট) নির্ধারণ করে । এটি সাধারণ "পতাকা গণনা করা হয় না" sensকমত্যের ব্যতিক্রমের মতো অনুভূত হয়েছিল।

-aপ্রতিটি ইনপুট লাইন স্পেসে বিভক্ত করে ফলাফল অ্যারেতে রাখে @F-sকমান্ড-লাইনে একটি নাম দিয়ে, একটি চলক হিসাবে একটি কমান্ড-লাইন আর্গুমেন্ট বরাদ্দ করার একটি শর্টকাট উপায়। এখানে যুক্তি -b=fracযা পরিবর্তনশীল মধ্যে উপসর্গ "frac" স্থান, $b

/^$b(.*)/- $bস্ট্রিংয়ের শুরুতে মানটির সাথে মেলে । .*শব্দের শেষ অবধি, তার পরে যা কিছু আসে তা হ'ল এবং আশেপাশের পার্থেন্টিসগুলি এই মানটি ধারণ করে। ক্যাপচার মানগুলি স্বয়ংক্রিয়ভাবে ফিরে আসে, দ্বারা মুদ্রিত হবে say। স্পেস-বিভক্ত শব্দের সাথে আইট্রেট করার for @Fঅর্থ হল আমাদের প্রাথমিক বা চূড়ান্ত জায়গাগুলি পরীক্ষা করতে হবে না।



1

পার্ল 6 , 30 বাইট

{$^t.comb: /[^|' ']$^p <(\S+/}

এটা পরীক্ষা করো

সম্প্রসারিত:

{  # bare block lambda with placeholder params $p, $t

  $^t.comb:    # find all the substrings that match the following
  /
    [ ^ | ' ' ] # beginning of string or space
    $^p        # match the prefix
    <(         # don't include anything before this
    \S+        # one or more non-space characters (suffix)
  /
}

সংশোধন করা হয়েছে @sundar
ব্র্যাড গিলবার্ট b2gills

আপনার কাছে 'পি' এবং '<' বিটিডব্লিউর মধ্যে একটি অতিরিক্ত জায়গা রয়েছে বলে মনে হচ্ছে।
সূন্দর - মনিকা

@sundar এর মধ্যে pএবং এটির মধ্যে <(প্রয়োজনীয় স্থানটি অন্যথায় এটি $v<…>সংক্ষিপ্ত হিসাবে দেখা যেতে পারে $v{qw '…'}
ব্র্যাড গিলবার্ট

1
অন্তত এক্ষেত্রে যদিও এটি ছাড়া এটি কাজ করে বলে মনে হচ্ছে।
- মনিকা পুনরায় ইনস্টল করুন

1
@ সুন্দর প্রযুক্তিগতভাবে এটি সতর্ক করে, তবে আমি কোডটি লিখতে পছন্দ করি না যা সতর্ক করে না এমন কোডের চেয়ে যখন কেবলমাত্র একটি বাইট আলাদা হয়।
ব্র্যাড গিলবার্ট 15

1

জাভা 10, 94 বাইট

p->s->{for(var w:s.split(" "))if(w.startsWith(p))System.out.println(w.substring(p.length()));}

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

Ungolfed:

p -> s -> { // lambda taking prefix and text as Strings in currying syntax
    for(var w:s.split(" ")) // split the String into words (delimited by a space); for each word ...
        if(w.startsWith(p)) //  ... test whether p is a prefix ...
            System.out.println(w.substring(p.length())); // ... if it is, output the suffix
}

1

ছোট বেসিক , 242 বাইট

একটি স্ক্রিপ্ট যা কোনও ইনপুট নেয় না এবং TextWindowঅবজেক্টে আউটপুট দেয়

c=TextWindow.Read()
s=TextWindow.Read()
i=1
While i>0
i=Text.GetIndexOf(s," ")
w=Text.GetSubText(s,1,i)
If Text.StartsWith(w,c)Then
TextWindow.WriteLine(Text.GetSubTextToEnd(w,Text.GetLength(c)+1))
EndIf
s=Text.GetSubTextToEnd(s,i+1)
EndWhile

স্মলবাসিক.কম এ চেষ্টা করুন! আইই / সিলভারলাইট প্রয়োজন


1

পাইথন 2 , 53 বাইট

lambda i,j:[w.split()[0]for w in j.split(i)if len(w)]

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


আকর্ষণীয় ধারণা কিন্তু প্রথম পরীক্ষার ক্ষেত্রে ব্যর্থ হয়, ইনপুট: "1", "He1in aosl 1ll j21j 1lj2j 1lj2 1ll l1j2i"
চ্যাস ব্রাউন

ঠিক আছে, আমি এটি দিয়ে কোলাহল করার চেষ্টা করব। আমি নিশ্চিত যে আমি
কোনও কিছুর মধ্যে

1

ব্র্যাচল্যাগ , 12 বাইট

hṇ₁∋R&t;.cR∧

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

[text, prefix]ইনপুট ভেরিয়েবলের মাধ্যমে ইনপুট নেয় এবং আউটপুট ভেরিয়েবলের মাধ্যমে প্রতিটি শব্দ উত্পন্ন করে । এটি মূলত সূন্দরটির উত্তর ছিল, যা আমি পড়ার পরে গল্ফ করার চেষ্টা শুরু করেছিলাম যে "ইনলাইন পূর্বাভাসগুলির সাথে পরিবর্তনশীল ভাগ করে নেওয়া যদি কয়েক বাইট সংক্ষিপ্ত হতে পারে", যা এখন সম্ভব। দেখা যাচ্ছে যে জেনারেটরের আউটপুট আরও বেশি বাইট সংরক্ষণ করে।

    R           R
   ∋            is an element of
h               the first element of
                the input
 ṇ₁             split on spaces,
     &          and the input
      t         's last element
         c      concatenated
       ;        with
        .       the output variable
          R     is R
           ∧    (which is not necessarily equal to the output).

ভাষাটির মোটামুটি নতুন বৈশিষ্ট্য ব্যবহার করে এটিকে গলফ করার জন্য আমার প্রথম দুটি প্রচেষ্টা:

বিশ্বব্যাপী পরিবর্তনশীলগুলির সাথে যা আশা করা হয়েছিল: hA⁰&tṇ₁{∧A⁰;.c?∧}ˢ(18 বাইট)

প্রয়োগের সাথে মাথা মেটাড্রেডিকেট সহ: ṇ₁ᵗz{tR&h;.cR∧}ˢ(16 বাইট)

এবং আমার মূল সমাধান:

ব্র্যাচল্যাগ , 15 বাইট

ṇ₁ʰlᵗ↙X⟨∋a₀⟩b↙X

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

একই আই / ও। উপসর্গটি ṇ₁ʰ⟨∋a₀⟩মুছে ফেলার জন্য এটি প্রিফিক্স সহ শব্দের জন্য মূলত জেনারেটর ।

                   The input variable
  ʰ                with its first element replaced with itself
ṇ₁                 split on spaces
    ᵗ              has a last element
   l               the length of which
     ↙X            is X,
       ⟨   ⟩       and the output from the sandwich
       ⟨∋  ⟩       is an element of the first element of the modified input
       ⟨ a₀⟩       and has the last element of the input as a prefix.
                   The output variable
       ⟨   ⟩       is the output from the sandwich
            b      with a number of characters removed from the beginning
             ↙X    equal to X.

একই বাইট গণনা সহ একটি খুব আলাদা শিকারী:

ব্র্যাচল্যাগ , 15 বাইট

hṇ₁∋~c₂Xh~t?∧Xt

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

একই আই / ও।

   ∋               An element of
h                  the first element of
                   the input variable
 ṇ₁                split on spaces
    ~c             can be un-concatenated
      ₂            into a list of two strings
       X           which we'll call X.
        h          Its first element
         ~t        is the last element of
           ?       the input variable,
            ∧      and
             Xt    its last element is
                   the output variable.


0

পাইথ , 21 20 18 17 16 বাইট

AQVcH)IqxNG0:NG"

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

এর Vপরিবর্তে -1 ব্যবহার করে FNকারণ Vসুস্পষ্টভাবে সেট করেN

-2 স্ট্রিং স্লাইসিং বিকল্পগুলি সম্পর্কে আরও কিছু পড়ার পরে

-1 ব্যবহার করে x সূচক 0 এ সাবস্ট্রিংয়ের উপস্থিতি পরীক্ষা করতে

-1 স্ট্রিংয়ের শেষ পেতে "" দিয়ে প্রতিস্থাপন ব্যবহার করে using

আমি নিশ্চিত যে এটি কিছু মারাত্মক গল্ফিং ব্যবহার করতে পারে তবে পাইথ শিক্ষানবিশ হিসাবে কেবল এটি কাজ করা বোনাস ছিল।

এটা কিভাবে কাজ করে?

assign('Q',eval_input())
assign('[G,H]',Q)
for N in num_to_range(chop(H)):
    if equal(index(N,G),0):
        imp_print(at_slice(N,G,""))

0

এক্সেল ভিবিএ, 86 বাইট

ইনপুটটিকে উপসর্গ হিসাবে কনসোলের [A1]মান [B1]এবং আউটপুট হিসাবে নেয় ।

For each w in Split([B1]):?IIf(Left(w,[Len(A1)])=[A1],Mid(w,[Len(A1)+1])+" ","");:Next
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.