সর্বাধিক ঘন শব্দটি কী?


26

সর্বাধিক ঘন শব্দটি কী?

একটি বাক্য দেওয়া হয়েছে, প্রতিটি প্রোগ্রামের ফ্রিকোয়েন্সি গণনা করে আপনার প্রোগ্রামটি অবশ্যই এটির মাধ্যমে এগিয়ে চলেছে, তারপরে সর্বাধিক ব্যবহৃত শব্দের আউটপুট। কারণ একটি বাক্যটির কোনও নির্দিষ্ট দৈর্ঘ্য নেই এবং তাই খুব দীর্ঘতর হতে পারে, আপনার কোডটি যথাসম্ভব সংক্ষিপ্ত হতে হবে be

বিধি / আবশ্যকতা

  • প্রতিটি জমাটি একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন হওয়া উচিত। যদি এটি কোনও ফাংশন হয় তবে এটি অবশ্যই প্রোগ্রামের নীচে ফাংশন কল যুক্ত করে প্রয়োজনীয়ভাবে চালানো উচিত। অন্য যে কোনও কিছু (যেমন সিতে শিরোনাম) অবশ্যই অন্তর্ভুক্ত থাকতে হবে।
  • আপনার ভাষার জন্য অবশ্যই একটি নিখরচায় দোভাষী / সংকলক উপলব্ধ থাকতে হবে।
  • যদি এটি সম্ভব হয় তবে এমন কোনও সাইটের লিঙ্ক সরবরাহ করুন যেখানে আপনার প্রোগ্রামটি পরীক্ষা করা যেতে পারে।
  • আপনার প্রোগ্রাম অবশ্যই কিছু লিখতে হবে না STDERR
  • আপনার প্রোগ্রামটি STDIN(বা আপনার ভাষার নিকটতম বিকল্প) থেকে ইনপুট নেওয়া উচিত ।
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
  • তোমার প্রোগ্রাম কেস-অবশ হতে হবে ( tHe, Theএবং theসব গণনা অবদান the)।
  • যদি খুব ঘন ঘন শব্দ না থাকে (পরীক্ষার কেস দেখুন # 3), আপনার প্রোগ্রামের কিছুই আউটপুট করা উচিত।

একটি 'শব্দ' সংজ্ঞা:

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

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

The man walked down the road.
==> the

-----

Slowly, he ate the pie, savoring each delicious bite. He felt like he was truly happy.
==> he

-----

This sentence has no most frequent word.
==> 

-----

"That's... that's... that is just terrible!" he said.
==> that's / thats

-----

The old-fashioned man ate an old-fashioned cake.
==> old-fashioned

-----

IPv6 looks great, much better than IPv4, except for the fact that IPv6 has longer addresses.
==> IPv6

-----

This sentence with words has at most two equal most frequent words.
==>

দ্রষ্টব্য: তৃতীয় এবং সপ্তম পরীক্ষার ক্ষেত্রে কোনও আউটপুট নেই, আপনি চতুর্থটি বেছে নিতে পারেন।

স্কোরিং

বাইট অনুযায়ী প্রোগ্রাম করা হয়। সাধারণ অক্ষর সেটটি ইউটিএফ -8, আপনি যদি অন্য কোনও ব্যবহার করে থাকেন তবে দয়া করে নির্দিষ্ট করুন।

চ্যালেঞ্জ শেষ হয়ে গেলে, সর্বনিম্ন বাইটস সহ প্রোগ্রামটি (এটি বলা হয় ) জয়ী হবে।

জমা

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি পৃথকভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

# Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও বানাতে পারেন যা লিডারবোর্ড স্নিপেটে প্রদর্শিত হবে:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes

লিডারবোর্ড

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।


2
মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ডুরকনব

1
সুতরাং আপনার 'শব্দ' এর নতুন সংজ্ঞা দেওয়া, এখানে সবচেয়ে সাধারণ শব্দটি don't d'ont dont a aকী? এটা হবে dont?
ডিজেএমসিএমহেম

@ ডিগ্রিগ্রিনইগস্যান্ডহ্যামডিজে আপনার যদি এমন জমা রয়েছে যা অ্যাডোস্ট্রোফেস সরিয়ে দেয় dont,। যদি না হয় a,। তবে বেশিরভাগ সাবমিশনগুলি করে এবং তাই dontসঠিক উত্তর।
জর্জ গিবসন

1
আউটপুট কেস সংবেদনশীল? তাহলে ipv6শেষ পরীক্ষার ক্ষেত্রে বৈধ আউটপুট?
kirbyfan64sos

1
একটি অতিরিক্ত পরীক্ষার ক্ষেত্রে ব্যবহার হতে পারে: "শব্দযুক্ত এই বাক্যটিতে সর্বাধিক দুটি সমান ঘন ঘন শব্দ রয়েছে words" -> <কিছুই>
philcolbourn

উত্তর:


6

পাইকে, 26 25 বাইট

l1dcD}jm/D3Sei/1qIi@j@
(;

এখানে চেষ্টা করুন!

অথবা 23 22 বাইট (নন-কেপটিং, নোড যুক্ত করুন যেখানে মিথ্যা হলে স্ট্যাককে মেরে ফেলে)

l1cD}jm/D3Sei/1q.Ii@j@

এখানে চেষ্টা করুন!

বা বিরামচিহ্ন সহ, 23 বাইট (আমার মনে হয় এটি প্রতিযোগিতা করে? প্রতিশ্রুতি সম্পাদনার আগে ছিল)

l1.cD}jm/D3Sei/1q.Ii@j@

এখানে চেষ্টা করুন!

অথবা 12 বাইট (অবশ্যই অব্যাহত)

l1.cj.#jR/)e

এখানে চেষ্টা করুন!

l1           -     input.lower()
  .c         -    punc_split(^)
    j        -   j = ^
     .#   )  -  sort(V(i) for i in ^)
       jR/   -   j.count(i)
           e - ^[-1]

আপনার 23 বাইট উত্তরটি প্রতিযোগিতা করবে যদি কেবলমাত্র বিরামচিহ্ন সংরক্ষণ করা হয় -এবং '(হাইফেন এবং অ্যাডোস্ট্রোফ)।
জর্জ গিবসন

এটি কেবলমাত্র বিরামচিহ্ন সংরক্ষণ করে যা কোনও শব্দের শেষে নয়
ব্লু

ওহ, ঠিক আছে (আমি পাইকে বুঝতে পারি না) আমার ধারণা এটি তখন প্রতিযোগিতা করে ...
জর্জ গিবসন

1
@ জর্জিগিবসন আমি নিশ্চিত যে 23 বাইট সংস্করণটি প্রতিযোগিতা করে না - এটি স্ট্যান্ডার্ড ফাঁকফুলের আওতায় আসতে পারে। এছাড়াও আমি আশা করি না (মি) কোনও লোক পাইকে বুঝতে পারে, আমি এটিকে নিজের ভাষা হিসাবে তৈরি করছি
ব্লু

তাহলে ঠিকআছে. আমি মনে করি আপনি এখনও যেভাবেই জিততে পারেন, তাই আসলে এটি কোনও বিষয় নয়।
জর্জ গিবসন


11

পাইথ - 23 30 বাইট

ডিজিট এবং হাইফেন অন্তর্ভুক্ত করার আরও ভাল উপায় থাকতে হবে তবে আমি এখনই এটি ঠিক করতে চাই।

Kc@s+++GUTd\-rzZ)I!tJ.M/KZ{KhJ

টেস্ট স্যুট


1
সংশোধিত নিয়মের জন্য ডিজিট এবং হাইফেন সংরক্ষণের প্রয়োজন।
ডেনিস

@ জর্জগিবসন স্থির
মালটিসেন

6

অক্টাভা, 115 94 বাইট

[a,b,c]=unique(regexp(lower(input('')),'[A-z]*','match'));[~,~,d]=mode(c); try disp(a{d{:}})

কোনও ঘন ঘন শব্দ ব্যবহার করে ক্ষেত্রে অ্যাকাউন্টগুলির জন্য try। এই ক্ষেত্রে এটি কোনও ফল দেয় না এবং যতক্ষণ না আপনি ব্যতিক্রমটি ধরেন ততক্ষণ "বিরতি নেয়"।

লুইস মেন্ডোর পরামর্শ ( modeসর্বাধিক প্রচলিত শব্দটি পেতে তৃতীয় আউটপুট ব্যবহার করে) 21 (!) বাইট সংরক্ষণ করা হয়েছে ।


আমি আমার আসল উত্তর পোস্ট করার পরে নিয়মগুলি বেশ খানিকটা বদলে গেছে। আমি পরে রেজেক্সে সন্ধান করব।


1
আপনি আমাকে এটি মারধর, এখন অন্য কিছু জন্য চিন্তা করতে হবে।
Abr001am

আবেদন modeকরতে পারেন c? এর তৃতীয় আউটপুট সমস্ত বাঁধা মান দেয়, যদি আমি সঠিকভাবে স্মরণ করি
লুইস মেন্ডো

আমি 115 বাইট গণনা।
কনর ও'ব্রায়েন

আমি বিশ্বাস করি আপনার রেজেক্স হওয়া উচিত ['\w\d]কারণ আপনাকে অ্যাডাস্ট্রোফস এবং অঙ্কগুলি সংরক্ষণ করতে হবে। যদি না এএসসিআইআই এর উপরের এবং নিম্ন কেসের মধ্যে না হয় তবে এই ক্ষেত্রে আমাকে অগ্রাহ্য করুন কারণ আমার কাছে কোনও টেবিল হাতে নেই।
ফান্ড মনিকার লসুইট

1
@ স্টিভিগ্রিফিন [~, ~, out] = mode([1 1 2 2 1 2 3 4 5 5])দিয়েছেনout = {1 2}
লুইস মেন্ডো

5

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

{$_>1&&.[0].value==.[1].value??""!!.[0].key given .lc.words.Bag.sort:{-.value}}

উত্তরটি দুটি ভাগে ভাগ করা যাক ...

given .lc.words.Bag.sort:{-.value}

givenএকটি নিয়ন্ত্রণ বিবৃতি (মত ifবা for)। পার্ল 6 এ তাদের পোস্টফিক্স হিসাবে অনুমোদিত। ( a if 1অথবা এখানে পছন্দ করুন foo given 3)। বাম-হাতের জন্য givenতার বিষয়টিকে (ডানদিকের দিকের) বিশেষ ভেরিয়েবলের মধ্যে রাখে $_

"বিষয়" নিজেই লোয়ারকেসগুলি ( lc), শব্দের দ্বারা বিভক্ত হয় ( words), মানগুলিকে একটি ব্যাগে রাখে (উপস্থিতির সংখ্যার সাথে সেট করে), তারপরে মান অনুসারে বাছাই করে (DESC)। যেহেতু sortজানে তালিকা উপর কার্যকরী হিসেবে কিভাবে, Bagএকটি রূপান্তরিত হয় Listএর Pairগুলি এখানে।

$_>1&&.[0].value==.[1].value??""!!.[0].key

একটি সাধারণ শর্তসাপেক্ষে ( ?? !!পরিবর্তে পার্ল 6 এ ব্যবহৃত হয় ? :)।

$_ > 1

তালিকায় একাধিক উপাদান রয়েছে তা পরীক্ষা করে দেখুন।

.[0].value==.[1].value

অ্যাক্সেসগুলি $_সংক্ষিপ্ত করা যায় ... ভেরিয়েবল নির্দিষ্ট না করে। .aঠিক মত $_.a। সুতরাং এটি কার্যকরভাবে "উভয় শীর্ষ উপাদানগুলির একই সংখ্যার উপস্থিতি রয়েছে" - যদি তাই হয় তবে আমরা '' (খালি স্ট্রিং) মুদ্রণ করি।

অন্যথায়, আমরা উপরের উপাদান এর কী (COUNT) মুদ্রণ: .[0].key


7
এটি অর্ধেক ইংলিশ, অর্ধ লাইন-গোলমালের মতো। অ্যামেজিং।
বিড়াল

1
এটি কী-ও-শৈলীর বৈশিষ্ট্যগুলিতে
ভেন

2
পার্ল 5 এর চেয়ে কম ইংরেজি থাকাকালীন পার্ল 5 এর চেয়ে কম পঠনযোগ্য হিসাবে পরিচালনা করে D ডি:
বিড়াল

1
@ কেট এটি স্থির করেছে - এখন সম্পূর্ণ অপঠনযোগ্য হওয়া উচিত
ভেন

5
value??!!(আমি জানি এটি একটি টের্নারি অপারেটর, এটি কেবল বিনোদনমূলক)
বিড়াল

4

05 এ বি 1 ই , 30 বাইট

কোড:

lžj¨„ -«Ãð¡©Ùv®yQOˆ}®¯MQÏDg1Q×

ব্যবহার সিপি-1252 এনকোডিং। এটি অনলাইন চেষ্টা করুন!



3
@ টেসেল্লাটিংহেকলার এটি কেবলমাত্র একটি লাইন ইনপুট নেয়। যদি আপনি বারবার Iকমান্ডটি ব্যবহার না করেন তবে 05AB1E কেবল এটির প্রয়োজন হিসাবে নেবে।
জর্জ গিবসন

4

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

s=>(m=new Map,s.toLowerCase().replace(/[^- 0-9A-Z]/gi,'').split(/\ +/).map(w=>m.set(w,-~m.get(w))),[[a,b],[c,d]]=[...m].sort(([a,b],[c,d])=>d-b),b==d?'':a)

@ ব্লু এর পাইথন উত্তরের উপর ভিত্তি করে।


আপনার রেজেক্স প্রতিস্থাপনটি দেখে মনে হচ্ছে এটি সংখ্যা কমেছে, এবং আইপিভি 6 পরীক্ষার কেসটি ভেঙে দেবে, এটা কি ঠিক?
টেসেল্ল্যাটিংহেকলার

@ টেসেল্ল্যাটিংহেকলারের শব্দের সংজ্ঞা পরিবর্তিত হয়েছে কারণ আমি প্রশ্নটি প্রাথমিকভাবে পড়েছি, তবে আমি এখনই আমার উত্তর আপডেট করেছি।
নীল

4

পাইথন 3.5, 142 137 134 112 117 110 127 বাইট:

( +17 বাইট, কারণ আপাতদৃষ্টিতে বাকী শব্দগুলির তুলনায় শব্দগুলি ঘন ঘন বেশি থাকলেও তাদের একই ফ্রিকোয়েন্সি রয়েছে, এখনও কিছুই ফেরত দেওয়া উচিত নয় ))

def g(u):import re;q=re.findall(r"\b['\-\w]+\b",u.lower());Q=q.count;D=[*map(Q,{*q})];return['',max(q,key=Q)][1in map(D.count,D)]

এখন সব শর্ত পূরণ করা উচিত। এই জমাটি ধরে নিয়েছে যে কমপক্ষে 1 টি শব্দ ইনপুট।

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

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

def g(u):import re;q=''.join([i for i in u.lower()if i in[*map(chr,range(97,123)),*"'- "]]).split();Q=q.count;D=[*map(Q,{*q})];return['',max(q,key=Q)][1in map(D.count,D)]

এই নতুন সংস্করণটি অনলাইন ব্যবহার করে দেখুন! (Ideone)


চ্যালেঞ্জ মন্তব্য থেকে "যদি এমন দুটি শব্দ থাকে যা বাকীটির চেয়ে বেশি ঘন ঘন হয় তবে একই ফ্রিকোয়েন্সি সহ", আউটপুটটি 'কিছুই নয়'।
রুটটউ

@ রুটটো ফিক্সড! :)
আর কাপ,

পছন্দ করুন আসলে একটি শব্দ নয় যদিও That'sএটি একটি সংকোচন হয়। that isthats
আর কাপ,

@ টেসেল্লাটিংহেকলার আপনি কি আমাকে এই মন্তব্যের কিছু প্রমাণ দিতে পারেন? কারণ আমি পোস্টে সমস্ত মন্তব্য দিয়ে যাচ্ছি এবং এরকম কোনও মন্তব্য দেখছি না।
আর কাপ,

4

রুবি, 94 92 102 বাইট

দ্রুত যেতে হবে (FGITW উত্তর)। সমস্ত বড় হাতের অক্ষরে বা nilখুব ঘন ঘন শব্দ না থাকলে শব্দটি প্রদান করে।

এখন নতুন চশমা আপডেট হয়েছে, আমি মনে করি। যাইহোক, আমি কিছুটা নিচে গল্ফ পরিচালনা করেছি যাতে বাইট গণনা একই হয়!

->s{w=s.upcase.tr("_'",'').scan /[-\w]+/;q=->x{w.count x};(w-[d=w.max_by(&q)]).all?{|e|q[e]<q[d]}?d:p}

5
Gotta go fast?
বিড়াল

@ কেট হ্যাঁ, 'কুজ আমি এবার FGITW ছিলাম
মান কালি



3

স্কেলসারভার 2008, 250 বাইট

DECLARE @ varchar(max) = 'That''s... that''s... that is just terrible!" he said.';

WITH c as(SELECT
@ p,@ x
UNION ALL
SELECT LEFT(x,k-1),STUFF(x,1,k,'')FROM
c CROSS APPLY(SELECT patindex('%[^a-z''-]%',x+'!')k)k
WHERE''<x)SELECT max(p)FROM(SELECT top 1with ties p
FROM c WHERE p>''GROUP BY p
ORDER BY count(*)DESC
)j HAVING count(*)=1

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

স্ক্যালসারভার 2016, 174 বাইট

উদাহরণস্বরূপ ডেটা হ্যান্ডেল করতে অক্ষম (3 টি সমানের সমান গণনা):

DECLARE @ varchar(max) = 'That''s... that''s... that is just terrible!" he said. = = ='

SELECT max(v)FROM(SELECT TOP 1WITH TIES value v
FROM STRING_SPLIT(REPLACE(REPLACE(REPLACE(@,'"',''),',',''),'.',''),' ')GROUP
BY value ORDER BY count(*)DESC)x HAVING count(*)=1

আমি পরিবর্তনশীল পদ্ধতির পছন্দ করি না কারণ এটি ধরণের প্রতারণার মতো :) একটি ইনপুট -> কিছুই বা কোনও কিছু নয়, সেট-ভিত্তিক পদ্ধতির সাহায্যে এটি আরও দীর্ঘ হতে হবে, কারণ আপনাকে GROUP BY, LEFT JOIN, or PARTITION BYএসপিএলটি ফাংশনে অতিরিক্ত যাইহোক এসকিউএল সার্ভার তৈরি করতে হবে। অসম্পূর্ণ ডেমোটিকে যতটা সম্ভব সংক্ষিপ্ত করতে নির্দ্বিধায় বোধ করবেন।
lad2025

@ lad2025 অনেক ধন্যবাদ, ২০১ from সাল থেকে কোনও বৈশিষ্ট্য জানতেন না LI আমি বিভাজনটি ব্যবহার করে স্ক্রিপ্টটি গল্ফ করার চেষ্টা করেছি, এটি 174 এ নামিয়ে পেয়েছি, তবে এটি "= = ="
t-clausen.dk

3

পোস্টগ্র্যাস এসকিউএল, 246 , 245 বাইট

WITH z AS(SELECT DISTINCT*,COUNT(*)OVER(PARTITION BY t,m)c FROM i,regexp_split_to_table(translate(lower(t),'.,"''',''),E'\\s+')m)
SELECT t,CASE WHEN COUNT(*)>1 THEN '' ELSE MAX(m)END
FROM z WHERE(t,c)IN(SELECT t,MAX(c)FROM z GROUP BY t)
GROUP BY t  

আউটপুট:

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

কেউ আগ্রহী যদি ইনপুট:

CREATE TABLE i(t TEXT);

INSERT INTO i(t)
VALUES ('The man walked down the road.'), ('Slowly, he ate the pie, savoring each delicious bite. He felt like he was truly happy.'),
       ('This sentence has no most frequent word.'), ('"That''s... that''s... that is just terrible!" he said. '), ('The old-fashioned man ate an old-fashioned cake.'), 
       ('IPv6 looks great, much better than IPv4, except for the fact that IPv6 has longer addresses.'), ('a   a            a b b b c');


সাধারণত আমি ব্যবহার করব MODE() WITHIN GROUP(...)এবং এটি আরও খাটো হবে তবে এটি লঙ্ঘন করবে:

যদি খুব ঘন ঘন শব্দ না থাকে (পরীক্ষার কেস দেখুন # 3), আপনার প্রোগ্রামের কিছুই আউটপুট করা উচিত।


সম্পাদনা করুন:

হ্যান্ডলিং ':

WITH z AS(SELECT DISTINCT*,COUNT(*)OVER(PARTITION BY t,m)c FROM i,regexp_split_to_table(translate(lower(t),'.,"!',''),E'\\s+')m)
SELECT t,CASE WHEN COUNT(*)>1 THEN '' ELSE MAX(m)END
FROM z WHERE(t,c)IN(SELECT t,MAX(c)FROM z GROUP BY t)
GROUP BY t  

SqlFiddleDemo

আউটপুট:

╔═══════════════════════════════════════════════════════════════════════════════════════════════╦═══════════════╗
║                                              t                                                ║      max      ║
╠═══════════════════════════════════════════════════════════════════════════════════════════════╬═══════════════╣
║ a a a b b b c                                                                                 ║               ║
║ The old-fashioned man ate an old-fashioned cake.                                              ║ old-fashioned ║
║ IPv6 looks great, much better than IPv4, except for the fact that IPv6 has longer addresses.  ║ ipv6          ║
║ This sentence has no most frequent word.                                                      ║               ║
║ "That's... that's... that is just terrible!" he said.                                         ║ that's        ║
║ The man walked down the road.                                                                 ║ the           ║
║ Slowly, he ate the pie, savoring each delicious bite. He felt like he was truly happy.        ║ he            ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════╩═══════════════╝

আপনার মতো কম পেতে পারেনি, স্ক্ল্যাসেরভারে বিভাজন এখনও তৈরি হয়নি। তবে নির্বাচনের অংশটি ছোট।
t-clausen.dk

@ জর্জগিবসন শিওর, ফিক্সড + যুক্ত লাইভ ডেমো।
lad2025

@ lad2025 আড্ডায় সাধারণ চুক্তি অনুসারে আপনি যা করেছেন তা আর প্রয়োজনীয় নয়, ফিরে যেতে নির্দ্বিধায় feel
জর্জ গিবসন

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

2

আর, 115 বাইট

function(s)if(sum(z<-(y=table(tolower((x=strsplit(s,"[^\\w']",,T)[[1]])[x>""])))==max(y))<2)names(which(z))else NULL

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

Ungolfed:

f <- function(s) {
    # Create a vector of words by splitting the input on characters other
    # than word characters and apostrophes
    v <- (x <- strsplit(s, "[^\\w']", perl = TRUE))[x > ""]

    # Count the occurrences of each lowercased word
    y <- table(tolower(v))

    # Create a logical vector such that elements of `y` which occur most
    # often are `TRUE` and the rest are fase
    z <- y == max(y)

    # If a single word occurs most often, return it, otherwise `NULL`
    if (sum(z) < 2) {
        names(which(z))
    } else {
        NULL
    }
}

2

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

নিয়মগুলি পরিবর্তন করে চলে ...

T`L`l
[^-\w ]

O`[-\w]+
([-\w]+)( \1\b)*
$#2;$1
O#`[-\w;]+
.*\b(\d+);[-\w]+ \1;[-\w]+$

!`[-\w]+$

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

পরীক্ষা স্যুট.



@ CᴏɴᴏʀO'Bʀɪᴇɴ ধন্যবাদ, স্থির।
ফাঁস নুন

1
এবং আপনি এটি 11 বাইট গল্ফ করেছেন ._। চিত্তাকর্ষক
কনর ও'ব্রায়েন

এছাড়াও ব্যর্থ হয় "পুরানো ফ্যাশনের লোকটি একটি পুরানো ফ্যাশনের কেক খেয়েছিল।"
t-clausen.dk

এই দেখাচ্ছে না ডান হয় (আশা aসবচেয়ে সাধারণ শব্দ সেখানে হতে)
TessellatingHeckler

2

পাইথন, 132 বাইট

import collections as C,re
def g(s):(a,i),(b,j)=C.Counter(re.sub('[^\w\s-]','',s.lower()).split()).most_common(2);return[a,''][i==j]

উপরের কোডটি ধরে নিয়েছে যে ইনপুটটিতে কমপক্ষে দুটি শব্দ রয়েছে।


যে রেগেজকে ভালোবাসি, তাই।
নীল

এটি ভুল। অক্ষর শ্রেণিতে \wআন্ডারস্কোর অন্তর্ভুক্ত রয়েছে।
mbomb007

1

পিএইচপি, 223 বাইট

$a=array_count_values(array_map(function($s){return preg_replace('/[^A-Za-z0-9]/','',$s);},explode(' ',strtolower($argv[1]))));arsort($a);$c=count($a);$k=array_keys($a);echo($c>0?($c==1?$k[0]:($a[$k[0]]!=$a[$k[1]]?$k[0]:'')):'');

1

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

2 টিরও বেশি শব্দ ধরে নেওয়া হয়। যতিচিহ্ন থেকে মুক্তি পেয়ে আমার ধ্বংস ...

import string as z
def m(s):a=[w.lower()for w in s.translate(z.maketrans('',''),z.punctuation).split()];a=sorted({w:a.count(w)for w in set(a)}.items(),key=lambda b:b[1],reverse=1);return a[0][0]if a[0][1]>a[1][1]else''

এই ফালা ',-ইত্যাদি?
টিম

@ টিম না, নিয়মগুলি পুরোপুরি সজ্জিত হওয়ার আগে আমি এই চ্যালেঞ্জটি করেছি। পরিবর্তন হবে.
নীল

আপনি sortedনিজে অ্যারেতে সূচি রাখার চেয়ে কোনও ফলকে ফলাফল নির্ধারণ করতে পারবেন ?
নিল

@ নিল মানে আপনি পুরো অ্যারের পরিবর্তে তুলনা করার জন্য প্রথম এবং দ্বিতীয় আইটেমটি পেতে চান? আমি কীভাবে এটি করতে জানি না
ব্লু

1

মতলব (225)

  • বিধিবিধান পরিবর্তন করা: /

      function c=f(a),t=@(x)feval(@(y)y(y>32),num2str(lower(x)-0));f=@(x)num2str(nnz(x)+1);e=str2num(regexprep(a,'([\w''-]+)',' ${t($1)} ${f($`)} ${f([$`,$1])}'));[u,r,d]=mode(e);try c=find(e==d{:});c=a((e(c(1)+1)):(e(c(1)+2)));end
  • এটি চালানোর জন্য সরঞ্জামবক্স প্রয়োজনীয়।

  • এই কাজটি কীভাবে, রেটেক্সের অন্যতম সেরা সুযোগ-সুবিধা মাতলাব-এ প্রতিস্থাপন করে এটি অভ্যন্তরীণ পরিবেশে ধরা টোকেন দ্বারা প্যারামিটারাইজড বাহ্যিক-পরিবেশগত ক্রিয়াকলাপগুলি কল করে টোকেনকে ক্ষেত্র-নির্বাহ করে, সুতরাং এর কোনও ক্রমটি প্রথম পূর্ণসংখ্য যেখানে "Word_A Word_B .."পূর্ণসংখ্যার দ্বারা প্রতিস্থাপিত "A0 A1 A2 B0 B1 B2 ..."হয় শব্দের সংখ্যাসূচক ascii স্বাক্ষর, দ্বিতীয়টি সূচক সূচক, তৃতীয়টি শেষ সূচক, এই শেষ দুটি পূর্ণসংখ্যার পুরো ক্রমটিতে পুনরায় নকল করা যায় না তাই আমি এটিকে একটি অ্যারেতে স্থানান্তরিত করার জন্য এই সুবিধাটি নিয়েছি, তারপরে মোডটি এটি অনুসন্ধান করুন সেই অ্যারেতে ফলস্বরূপ, সুতরাং সূচনা / সূচনা সূচনাগুলি ফলস্বরূপ অনুসরণ করবে।

  • সম্পাদনা: কিছু বিশদ পরিবর্তন করার পরে প্রোগ্রামটিকে স্ট্রিং প্যারামিটার দ্বারা ফাংশন বলা হয়।


20 বাইটস @ স্টিওগ্রিফিনকে ধন্যবাদ, 30 বাইট সাধারণ- সম্মতিযুক্ত ফাঁকগুলিতে তিরস্কারের যোগ করেছেন।


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

@ স্টিভি গ্রিফিন আমি মনে করি যে প্রগ্রেমটি সমান-ফ্রিকোয়েন্স শব্দের সাথে বাক্যগুলির সাথে খারাপ ব্যবহার করে আমি এটি সংশোধন করব
Abr001am

1

05 এ বি 1 ই , 22 21 20 বাইট

žK„- JÃl#{D.MDgiJëõ?

ব্যাখ্যা:

žK                     # Push [a-zA-Z0-9]
  „-                   # Push 2-char string containing a hyphen and a space
     J                 # Join the stack into a single element
      Ã                # Removes all characters from implicit input except those specified above
       l               # Converts to lowercase
        #              # Split string by spaces
         {             # Sorts array
          D            # Duplicates
           .M          # Finds most common element
             Dg        # Gets length of string without popping
                 iJ    # If length == 1, then convert the array to a string (otherwise the output would be ['example'] instead of example
                   ëõ? # Else push an empty string.

দ্রষ্টব্য: আপনি যখন আউটপুটে কিছু আউটপুট দেওয়ার কথা নন তখন আপনি যদি নতুন লাইনগুলি অনুসরণ করে ?ঠিক থাকেন তবে বাইট সংরক্ষণ করার জন্য শেষে প্রান্তটি সরিয়ে ফেলুন ।

নোট # 2: প্রোগ্রামটি একটি শব্দ দিয়ে কাজ করবে না, তবে আমি সন্দেহ করি এটি একটি সমস্যা হবে। আপনি এই স্থির করতে চান তাহলে, প্রতিস্থাপন #সঙ্গে ð¡একটি অতিরিক্ত বাইট জন্য।

05 এ বি 1 ই ইউপিএফ -8 নয়, চরসেট হিসাবে সিপি -1222 ব্যবহার করে।

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


1

পার্ল, 60 56 55 54 বাইট

জন্য +3 অন্তর্ভুক্ত -p

#!/usr/bin/perl -p
s/[\pL\d'-]+/$;[$a{lc$&}++]++or$\=$&/eg}{$\x=2>pop@

যদি শব্দটি কেবল একটি সংখ্যা না হয়ে যায় তবে আপনি a53 স্কোরের জন্য ড্রপও করতে পারেন ।


হাইফেন -anEগণনা করা হয় না? এটি অন্য উত্তরে ( -pপতাকাটির জন্য +2 বাইট ) করে ...
জর্জ গিবসন

@ জর্জিগিবসন নং, মেটা কোডেগল্ফ.স্ট্যাককেক্সচেঞ্জ / প্রশ্নগুলি / ২73৩/২ দেখুন । হাইফেন, স্থান এবং Eগণনা নেই। অন্য উত্তরটির জন্য সাধারণত +1 বাইট করতে হয় -pতবে তার সমাধানটি 'তাই এটি -eবা এর বর্ধন হিসাবে দেখা যায় না -E। সুতরাং তার স্থানটি এবং হাইফেনটি গণনা করা উচিত (তবে প্রতিটি অতিরিক্ত বিকল্পটি কেবলমাত্র +1 হবে) তার কারণ হিসাবে তাকে +3 (+2 নয়) গণনা করা উচিত।
টন হসপেল

@ টমহসপেল ওহ, ঠিক আছে।
জর্জ গিবসন

এস্টোস্ট্রোফের নিয়মকে কি বৈধ বলে মনে করা হয়? [\pL\d-]দেখে মনে হচ্ছে এটি সঙ্কুচিত হয়ে যেতে পারে [\w-](যদি না আমরা আন্ডারস্কোরগুলির বিষয়ে চিন্তা না করি) তবে উভয় সংস্করণটি পরীক্ষার thatপরিবর্তে that'sবা thatsপরীক্ষার জন্য রিপোর্ট করবে 4 অন্যথায়, আপনাকে \x27চারিত্রিক শ্রেণিতে সন্নিবেশ করতে 4 বাইট যুক্ত করতে হবে (যদি না আপনি যুক্ত করার আরও ভাল উপায় না করেন তবে একটি প্রেরণাদায়ক)।
আদম কাটজ

@ অ্যাডামক্যাটজ চলমান অবস্থায় 'শব্দের' সংজ্ঞাটি বেশ খানিকটা পরিবর্তিত হয়েছিল এবং আমি সর্বশেষ সংস্করণটিকে পুরোপুরি গ্রহণ করি নি। তবে আপনাকে খুশি রাখতে আমি একটি স্থির (এবং সংক্ষিপ্ত) সংস্করণ তৈরি করেছি :-)। এবং হ্যাঁ, আমি আন্ডারস্কোরগুলি সম্পর্কে যত্ন
নিই

0

পাওয়ারশেল (ভি 4), 117 বাইট

$y,$z=@($input-replace'[^a-z0-9 \n-]'-split'\s'|group|sort Count)[-2,-1]
($y,($z,'')[$y.Count-eq$z.Count])[!!$z].Name

প্রথম অংশটি যথেষ্ট সহজ:

  • $input হ'ল = স্ট্ডিন
  • রিজেক্স অপ্রাসঙ্গিক অক্ষরগুলিকে কিছুই দিয়ে প্রতিস্থাপন করে, নিউলাইনগুলিকে রাখুন যাতে আমরা একটি লাইনের শেষ এবং পরবর্তী লাইনের শুরু থেকে দুটি শব্দ ভুল করে ভুল করি না। (অন্য কেউ একাধিক লাইন নিয়ে আলোচনা করেনি, যদি ইনপুটটি সর্বদা একক লাইন থাকে তবে গল্ফ -2 করতে পারে)।
  • সবচেয়ে ঘন ঘন শব্দের শেষে রাখা Group, ফ্রিকোয়েন্সি ( Py = পাইথনের সংগ্রহগুলি C কাউন্টার) অনুসারে রেজেক্স বিভক্ত Sort
  • পাওয়ারশেল সবকিছুর জন্য ডিফল্টরূপে সংবেদনশীল।

খুব ঘন ঘন শব্দ না থাকলে হ্যান্ডলিং:

  • শেষ দুটি আইটেম নিন [-2, -1] $ y এবং $ z;
  • একটি এন-আইটেমের তালিকা, যেখানে এন> = 2, সর্বশেষ দুটি আইটেম $ y এবং $ z তৈরি করে
  • 1-আইটেমের তালিকাটি $ y কে সর্বশেষ আইটেম এবং $ z নাল করে
  • খালি তালিকা তাদের উভয়কে বাতিল করে দেয়

(0,1)[truthyvalue]আউটপুট হিসাবে "",। Z বা $ y চয়ন করার জন্য নেস্টেড, বুল-অ্যাস -অ্যারে-সূচক নকল-টের্নারি-অপারেটর গল্ফ ব্যবহার করুন।

PS D:\> "The man walked down the road."|.\test.ps1
The

PS D:\> "Slowly, he ate the pie, savoring each delicious bite. He felt like he was truly happy."|.\test.ps1
he

PS D:\> "`"That's... that's... that is just terrible!`" he said."|.\test.ps1
Thats

PS D:\> "The old-fashioned man ate an old-fashioned cake."|.\test.ps1
old-fashioned

PS D:\> "IPv6 looks great, much better than IPv4, except for the fact that IPv6 has longer addresses."|.\test.ps1
IPv6


0

পার্ল 5, 96 92 84 + 2 ( -pপতাকা) = 86 বাইট

++$h{+lc}for/\w(?:\S*\w)?/g}{$m>$e[1]||$e[1]>$m&&(($_,$m)=@e)||($_="")while@e=each%h

ব্যবহার:

> echo "The man walked down the road." | perl -p script.pl

আপনার -pপতাকাটিতে 3 বাইটের জরিমানা চাওয়া উচিত। নিয়মগুলি মোটামুটি: প্রতিটি কমান্ডলাইন পতাকাটি +1 বাইট হয় যেহেতু আপনাকে আপনার ফ্রি -e'code'স্টাইলের কমান্ডলাইনটি বাড়ানোর জন্য কতগুলি অতিরিক্ত বাইট দরকার । সুতরাং সাধারণত -pকেবল +1 বাইট হয়। তবে এখানে আপনার কোড রয়েছে 'তাই এড়াতে ছাড়াই কমান্ডলাইন থেকে চালানো যায় না। তাই কোন সঙ্গে মিশ্রন -eএবং -এবং স্থান সামনে pঅতিরিক্ত হয় এবং খুব গণনা করা উচিত নয়
টন Hospel

@ টনহোস্পেল স্থির
ডেনিস ইবায়েভ

এটি প্রকৃতপক্ষে 84 + 1 ( -pপতাকা) যদি আপনি কমান্ড লাইনে এটির অনুরোধ করেন perl -pe'…'( 'প্রথম মন্তব্যে উল্লিখিত হিসাবে সরিয়ে দিয়ে উপলব্ধ করা হয়েছে)
অ্যাডাম কাটজ

0

পাইথন, 158 বাইট

def g(s):import collections as c,re;l=c.Counter(re.sub('[^\w\s-]',"",s.lower()).split());w,f=l.most_common(1)[0];return[w,""][all(f==i[1]for i in l.items())]

এটির মতো ইনপুট নেয়:

g("Bird is the word")

সমস্ত প্রয়োজনীয়তার সাথে মিল থাকা উচিত, যদিও এটি খালি স্ট্রিংগুলিতে ব্যর্থ হয় না, তাদের কি এটি পরীক্ষা করা প্রয়োজন? দেরি করার জন্য দুঃখিত.

বাইট সংরক্ষণের জন্য পরামর্শ / প্রতিক্রিয়া / কালো যাদু টিপস সর্বদা স্বাগত


হাই, এবং পিপিসিজিতে আপনাকে স্বাগতম! আমরা উত্তরে বাইট সংখ্যা দ্বারা কোড গল্ফ চ্যালেঞ্জ। আমি এগিয়ে গিয়েছিলাম এবং সঠিক তথ্য সহ এটি আপনার জন্য সম্পাদনা করেছি।
আর

2
পিপিসিজিতে আপনাকে স্বাগতম! দুর্ভাগ্যক্রমে, আপনার জমাটি এই চ্যালেঞ্জের সমস্ত প্রয়োজনীয়তা পূরণ করে না, প্রথমত, এটি সংবেদনশীল নয়। উদাহরণস্বরূপ, এটি শব্দের Thatউপস্থিতি হিসাবে শব্দের ঘটনা হিসাবে গণনা করবে না thatকারণ প্রাক্তনটি একটি বড় হাতের সাথে শুরু হয় Tএবং পরবর্তীটি ছোট হাতের সাথে শুরু হয় t। এছাড়াও, এটি হাইফেন ( -) এবং বিকল্প 'হিসাবে অ্যাডোস্ট্রোফস ( ) ব্যতীত অন্য সকল বিরামচিহ্নগুলি সরিয়ে দেয় না এবং ফলস্বরূপ, এটি প্রশ্নে প্রদত্ত চতুর্থ পরীক্ষার ক্ষেত্রে কাজ করবে না।
আর কাপ,

1
এছাড়াও, খুব ঘন ঘন শব্দ না থাকলে এই কিছুই আউটপুট দেয় না। উদাহরণস্বরূপ, তৃতীয় টেস্ট কেস ( This sentence has no most frequent word.) উদাহরণ হিসাবে ব্যবহার করে , আপনার ফাংশন আউটপুট [('This', 1)], যখন এটি পরিবর্তে কিছুই আউটপুট করা উচিত। আমি আরও সমস্যাগুলি নিয়ে যেতে পারব, তাই যত তাড়াতাড়ি সম্ভব এগুলি ঠিক করার পরামর্শ দেব।
আর কাপ,

শীঘ্রই করব, যখন আমার সময় হবে
আপনি

এটি ভুল। অক্ষর শ্রেণিতে \wআন্ডারস্কোর অন্তর্ভুক্ত রয়েছে।
mbomb007

0

টিসিএল 8.6, 196 বাইট

lmap s [join [read stdin] \ ] {dict incr d [regsub -all {[^\w-]} [string tol $s] {}]}
set y [dict fi $d v [lindex [lsort [dict v $d]] end]]
if {[llength $y]!=2} {set y {}}
puts "==> [lindex $y 0]"

(হায়, আমি কীভাবে এটি এর চেয়ে আরও ছোট পেতে পারি তা বুঝতে পারি না ...)

ব্যাখ্যা

এটি স্টাফ করার জন্য বেশ কিছু অস্পষ্ট Tcl আইডিয়াম ব্যবহার করে।

  • [join [read stdin] " "] - ইনপুট স্ট্রিং wh সাদা স্থান-বিচ্ছিন্ন শব্দের তালিকা
  • lmap ... - তালিকার প্রতিটি উপাদান নিয়ে পুনরাবৃত্তি করুন। ( foreachফলাফল বাতিল হওয়ার পরে কম এবং কার্যকরভাবে অভিন্ন।)
  • [regsub ... [string tolower ...]] - স্ট্রিংটি ছোট হাতের অক্ষরে রূপান্তর করুন এবং শব্দের অক্ষর এবং হাইফেন ব্যতীত সমস্ত অক্ষর ফেলা উচিত।
  • [dict incr d ...] - একটি অভিধান / শব্দ → গণনা হিস্টগ্রাম তৈরি / পরিবর্তন করুন।
  • set y ... - অভিধানের মানগুলি বাছাই করুন, বৃহত্তমটি নিন এবং এর সাথে সংযুক্ত সমস্ত (কী, মান) জোড়া দিন।
  • if... - অবশ্যই দুটি উপাদান থাকতে হবে: একটি একক (কী, মান) জোড়া, অন্যথায় মুদ্রণের জন্য কিছুই নেই।
  • puts... - কী মান জোড়ায় কীটি প্রিন্ট করুন, যদি থাকে তবে। (কোনও শব্দের স্পেস নেই)

আপনি কোডচিফ ব্যবহার করে এটি খেলতে পারেন ।



0

রেজিক্স, 109 128 122 বাইট

pull s;g.=0;m=0;do i=1 to words(s);w=word(s,i);g.w=g.w+1;if g.w>=m then do;m=g.w;g.m=g.m+1;r=w;end;end;if g.m=1 then say r

বেশ মুদ্রিত ...

pull s
g.=0
m=0
do i=1 to words(s)
  w=word(s,i)
  g.w=g.w+1
  if g.w>=m
  then do
    m=g.w
    g.m=g.m+1
    r=w
  end
end
if g.m=1 then say r

আমি মনে করি না এটি সবচেয়ে ঘন ঘন শব্দের সাথে বাঁধা সমস্ত ক্ষেত্রে হ্যান্ডেল করে - দেখুন (নতুন) শেষ পরীক্ষার কেস - আমি একই রকম ভুল করেছি।
ফিলাকলবর্ন

আশা করছি, যে এটা এখন সংশোধন
Aja

0

বাশ, 153 146 131 154 149 137 বাইট

declare -iA F
f(){ (((T=++F[$1])==M))&&I=;((T>M))&&M=$T&&I=$1;}
read L
L=${L,,}
L=${L//[^- a-z0-9]}
printf -vA "f %s;" $L
eval $A;echo $I

অপারেশন:

পূর্ণসংখ্যার একটি এসোসিয়েটিভ অ্যারে এফ ঘোষণা করুন (ii এফ ঘোষণা করুন)

f হ'ল একটি ফাংশন যা একটি শব্দ প্যারামিটার given 1 দেওয়া হয়, এই শব্দটির জন্য বাড়তি ফ্রিকোয়েন্সি গণনা (টি = ++ এফ [$ 1]) এবং এখন পর্যন্ত সর্বাধিক গণনার সাথে তুলনা করা হয় (এম)।

সমান হলে, আমাদের একটি টাই আছে তাই আমরা এই শব্দটিকে সর্বাধিক ঘন ঘন হিসাবে বিবেচনা করব না (I =)

যদি এখন পর্যন্ত সর্বাধিক গণনার চেয়ে বড় হয় (এম), তবে এখন পর্যন্ত এই শব্দের ফ্রিকোয়েন্সি গণনাতে সর্বোচ্চ গণনা নির্ধারণ করুন (এম = $ টি) এবং এই শব্দটি মনে রাখবেন (আই = $ 1)

ফাংশন শেষ

একটি লাইন পড়ুন (এল পড়ুন) ছোট হাতের তৈরি করুন (এল = $ {এল,}) আজ, 0-9, ড্যাশ (-) এবং স্থান (এল = $ {এল // [^ - a-z0- 9]}) বাশ স্টেটমেন্টগুলির একটি ক্রম তৈরি করুন যা প্রতিটি শব্দের জন্য চেক করে (প্রিন্টফ-ভিএ "এফ% s;" $ এল)। এটি ভেরিয়েবল এ সংরক্ষণ করা হয়

আউটপুট:

This quick brown fox jumps over this lazy dog.
-->this
This sentence with the words has at most two equal most frequent the words.
-->
The man walked down the road.
-->the
This sentence has no most frequent word.
-->
Slowly, he ate the pie, savoring each delicious bite. He felt like he was truly happy.
-->he
"That's... that's... that is just terrible!" he said.
-->thats
The old-fashioned man ate an old-fashioned cake.
-->old-fashioned
IPv6 looks great, much better than IPv4, except for the fact that IPv6 has longer addresses.
-->ipv6

বাগ: ফিক্সড আমার একটি বাগ রয়েছে যা এই পরীক্ষার ক্ষেত্রে প্রকাশিত হয় না। যদি ইনপুট হয়

This sentence with words has at most two equal most frequent words.

তাহলে আমার কোড কিছুই আউটপুট করা উচিত।

আমার একটি স্থির আছে তবে আমি ব্যাশ বাগে আঘাত পেয়েছি বলে মনে হচ্ছে ... আমি খুব অদ্ভুত আচরণ পাচ্ছি এম এর পূর্ণসংখ্যা হিসাবে ঘোষণা করা হয় না: ++ এফ [$ 1] == এম (কয়েকবার পুনরাবৃত্তি শব্দের পরে) উভয় এফ [$ 1 ] এবং ম!! - আমার ভুল.


0

পাইথন 3, 76 98 100 বাইট

import re,statistics as S
try:print(S.mode(re.split("([a-z0-9-]+)",input().lower())[1::2]))
except:1

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

লোয়ারকেস হিসাবে সর্বাধিক সাধারণ শব্দটিকে আউটপুট করে। অ্যাডোস্টোফেস অন্তর্ভুক্ত করে না কারণ "অ্যাডাস্টোফেসগুলি অন্তর্ভুক্ত করার প্রয়োজন হয় না।"

statistics.mode পাইথন 3.4 প্রয়োজন requires

দুর্ভাগ্যক্রমে, কোনও আউটপুট stderrঅনুমোদিত নয়, বা এটি আরও ছোট হবে orter


আপনি যদি মুদ্রণ করতে পারবেন না STDERR, যদি না এই প্রোগ্রামটি কোনও ত্রুটি আউটপুট তৈরি করে না?
Okx

আপনার নতুন প্রোগ্রাম হাইফেন সমর্থন করে না! আমি ইনপুটটি চেষ্টা করেছিi- test i-
Okx

সব ঠিক করে ফেলেছে। এখনও ছোট।
mbomb007

0

আর, 96 বাইট

কিছুটা আলাদা পদ্ধতির সাথে বিদ্যমান আর-এর চেয়ে কম 19 বাইট ।

t=table(gsub("[^a-z0-9'-]","",tolower(scan(,''))))
`if`(sum(t==max(t))-1,'',names(which.max(t)))

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

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