আপনার চাচা মাতাল প্রয়োজন প্রয়োজন


10

মাতাল আঙ্কেল (অঞ্চল লকের জন্য দুঃখিত ME এবং AUS) শনিবার নাইট লাইভের একটি কাল্পনিক চরিত্র। তিনি প্রায়শই অন্যের জন্য শব্দগুলি বিভ্রান্ত করেন যা তাদের মতো শোনাচ্ছে। এই চ্যালেঞ্জের জন্য আপনার স্বাভাবিক বক্তৃতাটিকে মাতালপথে রূপান্তর করতে হবে।

অ্যালগরিদম

মাতালপাখিতে অনুবাদ করার জন্য পাঠ্যের শব্দের ক্রমটি অদলবদল করা দরকার। অদলবদল দুটি শব্দের মাতালতার মিলের উপর ভিত্তি করে । মাতালতার মিলকে একই সূচকে দুটি শব্দের সংখ্যার অক্ষর হিসাবে সংজ্ঞায়িত করা হয় । যাইহোক, দুটি অভিন্ন শব্দের সাথে মাতালতা -1 এর মিল রয়েছে । উদাহরণস্বরূপ, treeএবং friend2 এর মাতালতার মিল রয়েছে, কারণ উভয়ের উভয়ই সূচক 1 এ 'r', এবং সূচক 3 এ 'ই' রয়েছে।

আপনাকে যা করতে হবে তা হল পাঠ্যটিতে দুটি মাতাল হয়ে যাওয়া সাদৃশ্যযুক্ত দুটি শব্দ খুঁজে বের করতে, তারপরে সেগুলিকে অদলবদল করুন। একবার আপনি দুটি শর্ত অদলবদল করলে, তারা আর সরবে না। তারপরে আপনি বাকী অদলবদল পদগুলি দেখুন এবং সর্বাধিক মাতালতার সাদৃশ্য রয়েছে এমন দুটি স্বাপ করুন। আপনি আর অদলবদল না করা পর্যন্ত আপনি এটি চালিয়ে যান। তারপরে আপনি আপডেট হওয়া টেক্সট আউটপুট (বা ফিরে আসুন) return

সুনির্দিষ্ট

  • সরলতার জন্য, ইনপুট হ'ল [A-Za-z] এর মধ্যে অক্ষর সমন্বিত শব্দের একটি তালিকা
  • প্রতিটি ইনপুটটিতে কমপক্ষে একটি শব্দ থাকে
  • বর্ণের মিলটি কেস-সংবেদনশীল: এর সাথে Aমেলে a( দ্রষ্টব্য: এই নিয়মের কারণে Dogএবং dogঅভিন্ন, এবং এইভাবে -1 এর ডিএস রয়েছে)
  • যদি একাধিক জোড়া মাতাল হওয়ার সাদৃশ্য থাকে:
    1. শব্দের মধ্যে, এটি মাতাল হয়ে যাওয়া সাদৃশ্যকে সর্বাধিক করে তুলতে পারে, তালিকার সর্বনিম্ন সূচকের সাথে একটি বেছে নিন
    2. মাতালতার মিলকে সর্বাধিক করে তোলে এমন সর্বনিম্ন সূচক শব্দের সাথে সেই শব্দটি যুক্ত করুন

উদাহরণ

  1. Drunk Uncle needs your help (শিরোনাম)

    • এস 1 : মাতাল <=> আপনার (ডিএস: 1)your Uncle needs Drunk help
    • এস 2 : প্রয়োজন <=> সহায়তা (ডিএস: 1)your Uncle help Drunk needs
    • আউটপুট: your Uncle help Drunk needs
  2. I love fidget spinners (বিরক্তিকর উদাহরণ)

    • এস 1 : আমি <=> প্রেম (ডিএস: 0)love I fidget spinners
    • এস 2 : ফিজেট <=> স্পিনাররা (ডিএস: 0)love I spinners fidget
  3. dog eat dog ear

    • এস 1 : খান <=> কান (ডিএস: 2)dog ear dog eat
    • এস 2 : কুকুর <=> কুকুর (ডিএস: -1) dog ear dog eat(এই পদক্ষেপটি কেবল আনুষ্ঠানিকতা)
  4. Let me tell you a story

    • এস 1 : আসুন <=> আমাকে (ডিএস: 1)me Let tell you a story
    • এস 2 : বলুন <=> আপনি (ডিএস: 0)me Let you tell a story
    • এস 3 : একটি <=> গল্প (ডিএস: 0)me Let you tell story a
  5. Too many money and purple people

    • এস 1 : বেগুনি <=> লোক (ডিএস: 4)Too many money and people purple
    • এস 2 : অনেক <=> অর্থ (ডিএস: 2)Too money many and people purple
    • এস 3 : খুব <=> এবং (ডিএস: 0)and money many Too people purple

আরও কিছু উদাহরণ থাকলে আপনি আমাকে কভার করতে চান তা আমাকে জানান।


8
দয়া করে 'আমি
ফিড

1
"প্রাকৃতিক ভাষা"
হাইপারনিউটারিনো

উত্তর:


3

জাভাস্ক্রিপ্ট - 286 279 বাইট

f=(a,n=(a=a.split` `).length)=>{for(d=n>>1;w=-2,d--;){for(i=n;i--;)for(j=n;j--;)s=((a,f,v=0)=>{for(u=s=a!=f;(r=a[v])&&(t=f[v++]);s+=(p=a=>a.toLowerCase())(r)==p(t));return u*s-1})(a[i],a[j]),!(f[i]|f[j])&&s>=w&&(w=s,x=i,y=j);f[x]=f[y]=1,[a[x],a[y]]=[a[y],a[x]];}return a.join` `}

আপনি এটিটি জেএসফিডেলে চেষ্টা করতে পারেন ।


পিপিসিজিতে স্বাগতম (আবার) :) চমৎকার প্রথম জমা!
হাইপারনিউটারিনো

2

পাইথন 3, 285 277 270 267 বাইটস, কাজ করছে না

i=input().split();r=range;l=len;t=y=z=-1;n=str.lower
for p in r(l(i)):
 for q in r(p):
  b=min(l(i[p]),l(i[q]));x=0
  for s in r(b):
   if n(i[p][s])==n(i[q][s]):
    x=x+1
  if n(i[p])==n(i[q]):
   x=-1
  if x>t:
   t=x;y=p;z=q
i[y],i[z]=i[z],i[y]
print(" ".join(i))

আমি পরীক্ষার কেসগুলি নয়, আউটপুটটিকে চ্যালেঞ্জের সাথে মেলে ধরার চেষ্টা করেছি, কারণ পরীক্ষার কয়েকটি ক্ষেত্রে চ্যালেঞ্জের বিরোধিতা রয়েছে।

সম্পাদনা: 'নিম্ন' জিনিসটি গল্ফ করেছে।

সম্পাদনা করুন: বিভক্ত ("") বিভক্ত ()

সম্পাদনা: আমি বুঝতে পেরেছিলাম যে এটি আসলে সমস্ত জিনিস শেষ করে না, এবং আমি যখন একটি পূর্ণ কাজের উত্তর নিয়ে আসতে পারি, ততক্ষণে আমি আরও যুক্ত করতে পারি যে এটি কেবল একটি পুনরাবৃত্তি সম্পন্ন করে।


1
আপনি নির্ধারণ করতে পারেন প্রয়োজন g = str.lowerবা g = lambda s: s.lower()তারপর আপনি মত ব্যবহার করতে পারেন যা এই
ბიმო

ব্রুস ফোর্ট ধন্যবাদ! এটি 8 বাইট থেকে মুক্তি পেয়েছে। (এটি কেবল ২ 27০ এ নেমে গেছে কারণ এটি তৈরি করার জন্য আমাকেও একটি জিনিস ঠিক করতে হয়েছিল যাতে এটি উচ্চারণের সাথে সাদৃশ্য থাকলেও শব্দগুলিকে অদলবদল করতে পারে; এটি একটি বাইট যোগ করেছে))।
ক্ষতিকারক

1
কোনও সমস্যা নেই এবং পিপিসিজিতে স্বাগতম! আপনি যদি ইতিমধ্যে না দেখে থাকেন তবে এই ধরণের পোস্টগুলি খুব সহায়ক। বিটিডাব্লু .split(' ')দ্বারা প্রতিস্থাপন করা যেতে পারে .split()
17

অপেক্ষা করুন, আপনি কোন পরীক্ষার কেসগুলি পরিবর্তন করেছেন এবং সেগুলিতে কী হয়েছে?
জিওকাভেল

আমার কাছে কোনও পোস্ট পরিবর্তন করার মতো যথেষ্ট প্রতিনিধি নেই, তবে আপাত দ্বন্দ্বটি প্রথম উদাহরণের জন্য ছিল - 'মাতাল চাচার আপনার সাহায্য প্রয়োজন' এর জন্য দেওয়া উত্তরটি ছিল 'আপনার মামার সাহায্যের জন্য মাতাল হওয়া দরকার' ওভার 'আপনার মামার মাতাল সহায়তার প্রয়োজন'। এই উত্তর দুটিই একই মিলের স্কোর দিয়ে শব্দগুলিকে অদলবদল করে এবং তারা উভয়ই প্রথম শব্দের সাথে শুরু করে কোন অর্থে পরিবর্তন করতে হবে তা নির্ধারণ করার জন্য প্রথম জোড়াটি ব্যবহার করে আপনার প্রদত্ত টাই-ব্রেকার অনুসরণ করে। (আমি এটি লেখার সাথে সাথে আমি এখন বুঝতে পারি যে বৈপরীত্যটি আসলে তা নয়, বরং আরও একটি অস্পষ্টতা)। অক্ষর চলমান আউট decide- দেওয়া পথ দেখতে Next-
নিরীহ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.