একটি স্ট্রিংকে তার রাভারস্প্রকেট সমতুল্যে রূপান্তর করুন


15

Rövarspråket

অ্যাস্ট্রিড লিন্ডগ্রেনের ক্লে ব্লোমকভিস্ট সম্পর্কিত বইগুলি থেকে সুইজারল্যান্ডের বাচ্চারা খেলা রবারসপ্রিকেট একটি শব্দ গেম।

মূল নিয়মগুলি নীচে (উইকিপিডিয়া থেকে):

  • প্রতিটি ব্যঞ্জনবর্ণ (বানান সম্পর্কিত বিষয়গুলি উচ্চারণ নয়) দ্বিগুণ হয় এবং এর মধ্যে একটি o isোকানো হয়।
  • স্বর অক্ষত আছে

কয়েকটি উদাহরণ:

  • "হ্যালো" -> "হোহেলোলোলো"
  • "মিন সোভেরে সম্পূর্ণ মেড মেড ইল" -> "মোমিনন সোসোভোভোভেরোর অরফ ফিউফুললল ম্যাগডোড অ্যালল"

সুইডিশ ব্যঞ্জনবর্ণগুলি ইংরেজিগুলির মতো একই, তাই প্রোগ্রামটি সুইডিশ এবং ইংরেজি উভয় এন্ট্রি নিয়েই কাজ করা উচিত।

"Y" অক্ষরটি এক্ষেত্রে ব্যঞ্জনা হিসাবে নেওয়া হয় - বেশিরভাগ সময়।


তোমার কাজ:

কোনও ফাংশনের মাধ্যমে বা স্টিডিনের মাধ্যমে ইনভারপটেড সুইডিশ অক্ষরের একটি স্ট্রিংকে তার রাভারসপ্রিকেট সমতলে রূপান্তর করতে একটি প্রোগ্রাম লিখুন। বাইট জিতে স্বল্পতম উত্তর!


@ মার্টিনবাটনার আমার প্রশ্নটি আরও স্পষ্ট করেছেন - এটি সুইডিশের সাথে কাজ করা উচিত (যেহেতু এটি একটি সুইডিশ শব্দ-গেম)।
জেমস উইলিয়ামস

বর্ণমালা প্রবেশের অর্থ কী?
অপ্টিমাইজার

@ অপ্টিমাইজার কেবলমাত্র বর্ণানুক্রমিক অক্ষরের একটি স্ট্রিং। দুঃখিত, আমি এটি খারাপভাবে বলেছি, আমি সম্পাদনা করব
জেমস উইলিয়ামস

3
আমরা অক্ষর অক্ষর আচরণ করা উচিত? কমপক্ষে স্পেসগুলি দ্বিতীয় উদাহরণে প্রদর্শিত হবে।
নিমি

2
পাশের নোটে: 'Y' কে সুইডিশ ভাষায় স্বর হিসাবে বিবেচনা করা হয়
লিও

উত্তর:


14

রেটিনা , 14 + 5 = 19 বাইট

রেটিনা এমন একটি ভাষা যা মূলত কেবল নেট। রেজেেক্স যতটা সম্ভব কম ওভারহেড সহ। এই প্রোগ্রামের কোডটিতে দুটি ফাইল থাকে:

i`[b-z-[eiou]]
$0o$0

এটি STDIN- এ ইনপুট পড়ে এবং STDOUT এ আউটপুট প্রিন্ট করে।

আপনি যদি ফাইলগুলিতে কল করেন pattern.rgxএবং replacement.rpl, আপনি প্রোগ্রামটি সহজভাবে চালাতে পারেন

echo "hello" | ./Retina pattern.rgx replacement.rpl

ব্যাখ্যা

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

রেটিনা কনফিগার করা যেতে পারে (যার মধ্যে RegexOptionsএবং অন্যান্য বিকল্পগুলি রয়েছে) এর সাথে রেগেক্স `এবং একটি কনফিগারেশন স্ট্রিং প্রিপেন্ড করে । iএক্ষেত্রে আমি কেবল এটি দিচ্ছি যা ক্ষেত্রে সংবেদনশীলতার জন্য স্বাভাবিক রেজেেক্স সংশোধক।

রেগেক্স নিজেই, এটি ASCII রেঞ্জের যে কোনও ব্যঞ্জনবর্ণের সাথে মিলে .NET এর অক্ষর শ্রেণীর বিয়োগফল ব্যবহার করে। প্রতিস্থাপনটি কেবল oমাঝখানে দুটি সাথে ম্যাচটি আবার লিখবে writes


আপনি কি aআপনার স্বরবর্ণের অক্ষর শ্রেণিতে অনুপস্থিত ?
ব্রায়ান গর্ডন

3
@ ব্রায়ান গর্ডন না, আমি চরিত্রের শ্রেণিটি শুরু করছি b, সুতরাং আমার বিয়োগ করার দরকার নেই a
মার্টিন ইন্ডার

2
আকর্ষণীয়, আমি নেস্টেড, সাবটেক্টিভ চরিত্রের রেঞ্জ আগে কখনও দেখিনি। এটি কি কেবল একটি নেট জিনিস?
স্টিভ বেনেট

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

@ স্পার হ্যাঁ, এটি এখন নীতি, কিন্তু নীতিটি এই চ্যালেঞ্জ / উত্তরের চেয়েও নতুন। রেফারেন্সের জন্য (প্রকৃতপক্ষে, আপনি যদি সময় স্ট্যাম্পগুলির দিকে নজর দেন তবে আপনি দেখতে পাচ্ছেন যে আমি এই উত্তরের কারণে নীতিটির দিকে ধাবিত হয়েছিলাম , তবে পুরো সাইটের জুড়ে এই জাতীয় বিধি প্রয়োগ করা তেমন কোনও মানে করে না doesn't)
মার্টিন ইন্ডার

12

ইউনিক্স কেএসএইচ 27 28 32 27 বাইট ব্যবহার (বা 21 যদি আমরা কেবল সেড কমান্ডের মধ্যে গণনা করি)

অন্যের পরামর্শের জন্য ধন্যবাদ :) প্রশংসা।

.. আমি এখানে নেমেছি:

sed 's/[^AEIOUÅÄÖ ]/&o&/ig'

(স্পেস এবং সুইডিশ অক্ষরের জন্য অনুমোদিত)

echo "hello" | sed 's/[BCDFGHJ-NP-TV-Z]/&o&/ig'
hohelollolo
echo "HELLO" | sed 's/[BCDFGHJ-NP-TV-Z]/&o&/ig'
HoHELoLLoLO
echo "QuIcKlY Now" | sed 's/[BCDFGHJ-NP-TV-Z]/&o&/ig'
QoQuIcocKoKlolYoY NoNowow

4
এছাড়াও, আমি মনে করি যে আপনার উত্তরটি sedপ্রোগ্রাম হিসাবে দাবি করা অনুমোদিত , এবং কেবলমাত্র একক উদ্ধৃতিগুলির মধ্যে বাইটগুলি গণনা করুন
ডিজিটাল ট্রমা

1
s/[^AEIOU]/&o&/igকমপক্ষে একক শব্দের জন্য ... মনে হচ্ছে কাজ করছে ... আপনার পাশাপাশি স্থানগুলিও বাদ দিতে হবে
ডিজিটাল ট্রমা

1
বাশ, যদিও শেলটি কোনও ব্যাপার নয়, যতক্ষণ না আপনার সেড প্রোগ্রামটি একক উদ্ধৃতিতে থাকে
ডিজিটাল ট্রমা

1
এছাড়াও সুইডিশ স্বরবর্ণ জন্য সতর্ক ö, åইত্যাদি - এই প্রয়োজন খুব ব্যতীত। কেবল ব্যঞ্জনবর্ণের একটি শ্বেত তালিকা ব্যবহার করা আরও ভালs/[BCDFGHJ-NP-TV-Z]/&o&/ig
ডিজিটাল ট্রমা

2
আমি এটিকে 'সেড' করব এবং "এস / [^ আইইউইউ] / ও ও ও / আইজি" ব্যবহার করব, যা 25 বাইটের জন্য সুইডিশ স্বর এবং স্পেসগুলি কভার করে।
স্বস্তি

7

সিজেম, 32 30 বাইট

q{_eu'[,66>"EIOU"-#)g{'o1$}*}/

এটি STDIN থেকে মুদ্রণ এবং STDOUT এ সম্পূর্ণ প্রোগ্রাম। এটি নির্বিচারে ইউনিকোড ইনপুটটির জন্য কাজ করে এবং নিম্নলিখিত 42 টি অক্ষরকে ব্যঞ্জনবর্ণ হিসাবে আচরণ করে:

BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz

এটি এখানে পরীক্ষা করুন।

ব্যাখ্যা

q                              "Slurp STDIN.";
 {                          }/ "For each character...";
  _eu                          "Duplicate and convert to upper case.";
     '[,66>                    "Get a string from B to Z using range and slice.";
           "EIOU"-             "Remove the remaining four vowels.";
                  #            "Find the position of the character in this string or
                                -1 if the character can't be found.";
                   )g          "Increment, take signum, which gives 1 for consonants, 
                                and 0 otherwise.";
                     {    }*   "Repeat this block that many times, i.e. do nothing for
                                non-consonants.";
                      'o       "Push an 'o'.";
                        1$     "Copy the current character.";

5

জাভাস্ক্রিপ্ট, 59 57 55 44 বাইট

s=>s.replace(/(?![eiou])[b-z]/gi,"$&o$&")

মাস্টারজাঘকে একটি স্মরণ করিয়ে দেওয়ার জন্য যে একটি ফাংশনটিও গ্রহণযোগ্য হবে এবং ক্যাপচার ছাড়াই ব্যাকরিফেরেন্স সম্পর্কিত তাঁর রেগেক্স টিপটির জন্য ধন্যবাদ!

ইনপুট / আউটপুট সহ দীর্ঘতর সংস্করণ:

alert(prompt().replace(/(?![eiou])[b-z]/gi,"$&o$&"));

স্ট্রিংয়ের প্রবেশের জন্য একটি প্রম্পট বাক্স প্রদর্শন করে, তারপরে রাভারসপ্রিকেট আউটপুট সম্বলিত একটি ডায়ালগ দেখায়। কোডটি ব্যঞ্জনবর্ণগুলিকে দ্বিগুণ করতে এবং oগুলি সন্নিবেশ করতে একটি রেজেক্স ব্যবহার করে ।


"কোনও ফাংশন বা s=>alert(s.replace(/(?![eiou])([b-z])/gi,"$1o$1"));

এবং যেহেতু এটি আউটপুট করতে বলা হয়নি, আপনারও সতর্কতার দরকার নেই।

আরও একটি বিষয়, আপনি ক্যাপচার না করে পিছনে উল্লেখ করতে পারেন । মূলত এটি করুন s=>s.replace(/(?![eiou])[b-z]/gi,"$&o$&"), যেহেতু $&বর্তমান মিলের অর্থ আপনি আপনার চিঠিটি ক্যাপচার করে এমন প্রথম বন্ধনী সরিয়ে ফেলতে পারবেন এবং আপনি যখন এটিতে থাকবেন তখন শেষে সেমিকোলনটি সরিয়ে অন্য বাইট সংরক্ষণ করতে পারবেন।

@ মাস্টারজাঘ এটি দুর্দান্ত, আবার ধন্যবাদ!
প্রোগ্রামফক্স

4

গণিত, 84 73 72 বাইট

StringReplace[#,a:RegularExpression@"(?i)[BCDFGHJ-NP-TV-Z]":>a<>"o"<>a]&

ব্যাখ্যা:

  • RegularExpression@"(?i)[BCDFGHJ-NP-TV-Z]" সংবেদনশীলতার সাথে সমস্ত ব্যঞ্জনবর্ণের সাথে মিলে যাওয়া একটি রেজেক্স।
  • a:*..*:>a<>"o"<>a এই ব্যঞ্জনবস্তুকে আবদ্ধ করতে একটি বিলম্বিত নিয়ম তৈরি করে a এবং এটিকে ও ও দ্বারা ঘিরে নিজেকে প্রতিস্থাপন করে।
  • অবশেষে, StringReplace[#,*..*]&একটি যুক্ত বিশুদ্ধ ফাংশন তৈরি করে যা তার যুক্তিতে প্রতিটি মিলে যাওয়া চিঠির জন্য নিয়মটি প্রয়োগ করে।

@ মার্টিনবাটনার ধন্যবাদ! গাণিতিক গল্ফিংয়ের জন্য এখনও নতুন ...
LegionMammal978

@ মার্টিনবাটনার যেভাবেই করতে যাচ্ছিল তবে কিছু বিজ্ঞপ্তিতে বিভ্রান্ত হয়ে পড়ে: পি
লেজিওনম্যামাল 978

4

জুলিয়া, 46 44 বাইট

t->replace(t,r"(?![eiou])[b-z]"i,s->s*"o"*s)

এটি একটি বেনামি ফাংশন তৈরি করে যা একটি একক স্ট্রিং ইনপুট নেয় এবং রাভারস্প্রেট সমতুল্য মুদ্রণ করে। এটি কল করার জন্য, এটির একটি নাম দিন f=t->...

কমাগুলির পরে স্থানগুলি ব্যতীত এখানে সত্যিই খুব বেশি কিছু গল্ফ করা হয়নি replace()

এখানে আমরা ফাংশনটিতে 3 টি আর্গুমেন্ট ব্যবহার করছি replace(): ইনপুট স্ট্রিং, সাবস্ট্রিংগুলি সনাক্ত করার জন্য নিয়মিত অভিব্যক্তি এবং একটি প্রতিস্থাপন। জুলিয়া নিয়মিত প্রকাশের ধরণগুলি দ্বারা চিহ্নিত করে r"..."iশেষের দিকে যোগ করা এটিকে সংবেদনশীল করে তোলে। এই বিশেষ রেজেক্স ব্যঞ্জনবর্ণের সাথে মেলে। যদি কোনও ফাংশন প্রতিস্থাপনের জন্য ব্যবহৃত হয় তবে আউটপুটটি হ'ল প্রতিটি ফ্যাশনের সাথে মিলিত স্ট্রাস্ট্রিংয়ের ক্ষেত্রে এই ফাংশনটি প্রয়োগ করা হয়। ফাংশন আমরা এখানে ব্যবহার করছেন একটি স্ট্রিং লাগে sএবং আয় sos, যেহেতু* জুলিয়ায় স্ট্রিং কনটেন্টেশন করে। সুতরাং শেষ ফলাফলটি হ'ল প্রতিটি ব্যঞ্জনবর্ণের সাথে ইনপুট স্ট্রিংটির মধ্যে "ও" এর দ্বিগুণ।

উদাহরণ:

julia> f("Min svävare är full med ål")
"MoMinon sosvovävovarore äror fofulollol momedod ålol"

julia> f("hello")
"hohelollolo"

julia> f("Rövarspråket")
"RoRövovarorsospoproråkoketot"

মনে রাখবেন যে ফলাফলটি ফেরত দেওয়ার পরিবর্তে যদি আমাদের মুদ্রণ করতে হয় তবে এটি 9 বাইট দীর্ঘ হবে। ওপি থেকে নিশ্চিতকরণের অপেক্ষায়।


সম্পাদনা করুন: মার্টিন বাটনারকে 2 বাইট সংরক্ষিত!


3

হাস্কেল, ৮১ বাইট

x n|elem n"bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"=[n,'o',n]|1<2=[n]
f=(>>=x)

ব্যবহার: f "Hello there!"-> "HoHelollolo tothoherore!"

ব্যয়বহুল importএস ব্যতীত আমি চতুরতার সাথে ব্যঞ্জনবর্ণের তালিকা তৈরি করতে পারি না । এমনকি ছোট হাতের অক্ষরে যাচাই করতে চিঠিটি ঘুরিয়ে দেওয়ার জন্য কেবল উচ্চ এবং নিম্ন উভয় ব্যঞ্জনাভকেই তালিকাভুক্ত করার চেয়ে আরও বেশি বাইটের প্রয়োজন হয়।



2

পার্ল, 33 বাইট

এই উত্তরটি বেশিরভাগই রেজেেক্স-শুধুমাত্র, সামান্য পরিমাণে আই / ও সঞ্চালনের জন্য অতিরিক্ত কোড থাকে।

$_=<>;s/[^aeiou\W]/$&o$&/gi;print

পার্ল রেজেক্সস ব্যবহার করার পরে এটি বেশ কিছুক্ষণ হয়েছে, সুতরাং সম্ভবত এটি উন্নতি করা যেতে পারে।

$_=<>;                              This takes input from STDIN `<>` and stores
                                    it into the default variable $_
      s/          /     /gi;        This is a case-(i)nsentive, (g)lobal, 
                                    (s)ubstitution regex.  Since no other
                                    variable is specified, it is applied to
                                    the default variable $_.
        [^aeiou\W]                  This matches any single character that 
                                    is a consonant, by using a double-
                                    negative ^\W to match only alphanumeric 
                                    characters excluding vowels.  Accented 
                                    vowels are not considered alphanumeric 
                                    by Perl.
                   $&o$&            This forms the replacement.  $& contains the 
                                    match (the consonant), so this replaces each 
                                    consonant with two copies of itself with 
                                    an 'o' in between.
                            print   This prints the result.  With no arguments, 
                                    it prints $_ by default.

[^aeiou]এখনও match এবং অন্যান্য- ASCII স্বরগুলি মিলবে না ?
অ্যালেক্স এ 0

@AlexA। আমি ইতিমধ্যে সমস্যা লক্ষ্য করেছি। এটি শূন্য-চরিত্রের স্থিরতা ছিল ( \sথেকে \W)।
PhiNotPi

+1, পার্ল কোডের সর্বাধিক বিশদ বিবরণ আমি এই সাইটে দেখেছি।
Zgarb

2

সি (আইডিয়োন.কম সংস্করণ) - 133

ঠিক আছে, এটি বিশাল। তবে সি এর নিয়মিত প্রকাশ নেই। আপনি যদি এমন কিছু দেখেন যা এটি আরও খাটো করে তুলতে পারে ... দয়া করে আমাকে বলুন

#define x (*c<66||*c>90)&&(*c<98||*c>122)||strchr("EIOUeiou",*c)?"":
c[2];main(){while(0<(*c=getchar()))printf("%s%s%s",c,x"o",x c);}

স্থানীয় পরিবর্তনশীল কীভাবে cঘোষিত হয়?
wjl

@wjl সি-তে গ্লোবাল ভেরিয়েবল শূন্যের সূচনা হয়। স্থানীয় ভেরিয়েবলগুলি স্ট্যাকের মধ্যে রয়েছে এবং এটি আরম্ভ করা হয় না। দেখুন stackoverflow.com/questions/3553559/... সঙ্গে int- এ একটি টাইপ ডিফল্ট এবং অক্ষর উপর printf, কাজ যেহেতু কোড endian সমস্যা থাকতে পারে ভেরিয়েবল - আমি আগামীকাল চেক করবে।
জেরি যেরেমিয়া 11

হ্যাঁ, আমি ডিফল্ট সূচনা বুঝতে পারি। আমি কেবল সুন্দরভাবে উল্লেখ করার চেষ্টা করছিলাম যে এই কোডটি সংকলিত cহয় না যেহেতু একেবারেই ঘোষণা করা হয়নি, যেমন out.c:2:18: error: ‘c’ undeclared (first use in this function)
wjl

@ wjl আমার ধারণা এটি সংকলকের উপর নির্ভর করে। আপনি সি নির্বাচন করার সময় এটি আদর্শ সংকলন আইডিয়োনে ডটকম / এস 7 এম 5 এমজেডে সংকলন এবং চালিত হয় - কোনও ধারণা কী পার্থক্য?
জেরি যেরেমিয়া

আদর্শের সংকলক সহ একটি বাগের মতো দেখায়। আপনি যদি লাইনটি ঠিক করেন c[2];main(প্রয়োজনীয় কারণ #defineসেমিকোলনে শেষ হয় না) এটি জিসিসিকে অনুরূপ ত্রুটি দেয়। যাইহোক, কোনও বড় বিষয় নয়, এটি এখনও একটি মজাদার কোড-গল্ফ, তবে আপনাকে এই বৈধ সিটি তৈরি করতে আরও কয়েকটি অক্ষরের প্রয়োজন হতে পারে =)
wjl ২

2

উইন্ডোজ ব্যাচ, 235 বাইট

@echo off
setlocal enabledelayedexpansion
set d=qwrtypsdfghjklzxcvbnm
set #=%1
:x
if defined # (
for /l %%i in (0,1,20)do (
set m=!d:~%%i,1!
if /i !m!==%#:~0,1% set g=!g!!m!o)
set g=!g!%#:~0,1%
set #=%#:~1%
goto x)
echo %g%

ব্যবহার:

script.bat hello

আউটপুট:

hohelollolo

আপনি হয়ত ভাবছেন যে আমি কেন "অউই" এর সাথে সেট করিনি, নোট-ইকুয়ালের জন্য চেক করার জন্য একটি লুপ বের হওয়া দরকার। ব্যাচে প্রতিটি কাজ করা উচিত, কাজ করে না। স্ক্রিপ্টটি 1 টি অক্ষরের অক্ষর পরিচালনা করে [আপনার কীবোর্ডে প্রদর্শিত হবে]। স্ক্রিপ্টটি চালানোর জন্য যে সমস্ত স্পেস এবং নিউলাইন এখনও বিদ্যমান রয়েছে তাদের প্রয়োজন।

উইন্ডোজ এক্সপি বা উচ্চতর, প্রয়োজনীয়। উইন্ডোজ 8 এবং তারপরে পরীক্ষিত নয়।


2

পাওয়ারশেল - 35 বাইট

কেবল এটি দেখানোর জন্য যে পাওয়ারশেল কখনও কখনও এগুলিতেও প্রতিদ্বন্দ্বিতা করতে পারে এবং মার্টিন বাটনার এর রেটিনা জবাব থেকে নির্লজ্জভাবে চুরি করে রেগেক্স দিয়ে:

%{$_-replace'[b-z-[eiou]]','$0o$0'}

স্টিডিনের স্ট্রিং ইনপুট গ্রহণ করে


1

পাইথ - 28 বাইট

সেট-ওয়াইফ পার্থক্যটি ব্যবহার করে উড়তে ব্যঞ্জনবর্ণের তালিকা তৈরি করে এটি সুস্পষ্ট উপায়ে কাজ করে।

FNzpk+N?+\oN}rNZ-{G{"aeiou"k

ব্যাখ্যা শীঘ্রই আসছে।

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


আপনি 4 টি অক্ষর মুছে ফেলা এবং একটি চরের পরিবর্তে অন্য একটি দিয়ে 4 টি বিট সংরক্ষণ করতে পারেন।
জাকুবে



1

পাইথন, 61

আমি একটি চরিত্র শ্রেণি ইউনিয়ন বা কাজ করার বিয়োগ পেতে পারি না, এবং তাই পাইথনের বৈশিষ্ট্যটি আমি মনে করি না। পরিবর্তে আমাকে একটি নেতিবাচক লুকআপ ব্যবহার করতে হবে।

import re;f=lambda s:re.sub('(?i)(?![eiou])([b-z])',r'\1o\1',s)

এটি এখানে চালান: http://repl.it/fQ5

বিপরীতে লিঙ্ক: /codegolf//a/48182/34718


1

কে, 38 টি অক্ষর

f:{,/(1+2*~(_x)in"aeiouåäö ")#'x,'"o"}

-1 f"Min svävare är full med ål";
MoMinon sosvovävovarore äror fofulollol momedod ålol

1

কে, 31 বাইট

,/{(x,"o",x;x)9>" aeiouåäö"?x}'

একটি সহজ সমাধান হ'ল মোটামুটি প্রতিযোগিতামূলক বলে মনে হচ্ছে যে কে পুনর্বিবেচনার অভাব রয়েছে। প্রতিটি অক্ষর উপেক্ষা করা স্বরগুলির অনুসন্ধানের টেবিলে পাওয়া গেছে কিনা এবং তার ফলাফলগুলির তালিকায় যোগ দিতে হবে তার উপর ভিত্তি করে "XoX" ফর্ম এবং "এক্স" ফর্মের মধ্যে নির্বাচন করুন।

ওকে ব্যবহার করে আপনি এটি আপনার ব্রাউজারে চেষ্টা করতে পারেন :

http://johnearnest.github.io/ok/index.html?run=%20%2C%2F%7B(x%2C%22o%22%2Cx%3Bx)9%3E%22%20aeiouåäö%22%3Fx%7D'%22Min%20svävare%20är%20full%20med%20ål%22

(দুর্ভাগ্যক্রমে আমি একটি ক্লিকযোগ্য লিঙ্ক সরবরাহ করতে পারি না কারণ স্ট্যাক ওভারফ্লো ইউআরএলগুলিতে উচ্চারণের অক্ষরগুলিকে মঞ্জুরি দেয় না)


0

গল্ফস্ক্রিপ্ট, 35 বাইট

{."aeiouåäö\n "?-1={."o"\}{}if}%

প্রত্যাশাটি স্ট্যাকের মধ্যে থাকবে। ইনপুট (50 বাইট) সহ:

"#{STDIN.gets}"{."aeiouåäö\n "?-1={."o"\}{}if}%

Swedish, ä এবং the the swedish swedish swedish swedish swedish swedish swedish swedish swedish


2
ইনপুট সর্বদা জিএসে স্ট্যাক থাকে
অপটিমাইজার

0

সেড (কমান্ড লাইনে), 28 বাইট

sed 's/\([^aeiou]\)/\1o\1/g'

হয় পাঠ্যটি পাইপ করুন বা এটি সরাসরি টাইপ করুন। কেবলমাত্র সেড কোডটি 22 বাইট।


3
এটি স্পেস এবং সদৃশদের মতো নকল করে ä
প্রোগ্রামফক্স

0

আর, 45 অক্ষর

gsub("([^aeiouäöå ])","\\1o\\1",readline(),i=T)

সরল রেজেক্স স্টিডিনের কাছ থেকে পড়ে। i=Tএর অর্থ দাঁড়ায় ignore.case=TRUE(আর্গুমেন্টের নামের সাথে আংশিক মিলের জন্য ধন্যবাদ), যা gsubকেসকে সংবেদনশীল করে তোলে ।

ব্যবহার:

> gsub("([^aeiouäöå ])","\\1o\\1",readline(),i=T)
Min svävare är full med ål
[1] "MoMinon sosvovävovarore äror fofulollol momedod ålol"
> gsub("([^aeiouäöå ])","\\1o\\1",readline(),i=T)
hello
[1] "hohelollolo"
> gsub("([^aeiouäöå ])","\\1o\\1",readline(),i=T)
hElLo
[1] "hohElolLoLo"


0

গল্ফ্লুয়া, 36 বাইট

B=I.r():g("[^aeiou%W ]","%1o%1")w(B)

সাধারণ প্যাটার্ন-মেলানো: স্টিডিন নিন, তারপরে অ-স্বরবর্ণগুলি ( %Wনন-আলফানিউমেরিক অক্ষরের যত্ন নেয়) এবং oদুটি প্রতিস্থাপনের মধ্যে একটি সন্নিবেশ করুন । দুঃখের বিষয়, লেখার মধ্যে এই সমস্ত কিছু করা (যেমন, w(I.r():g(....))) সন্নিবেশের গণনাও আউটপুট করে, যদিও এটি 3 টি অক্ষর সংরক্ষণ করে। একটি লুয়া সমতুল্য হবে

line = io.read()
rovar = line:gsub("[^aeiou%W ]","%1o%1")
print(rovar)

0

রেক্সএক্স, 107 বাইট

parse arg s
v='aeiouåäö '
o=
do until s=''
  parse var s l 2 s
  if verify(l,v)>0 then l=l'o'l
  o=o||l
  end
say o

"মোমিনন সোসভোভোভেরোর অরফ ফোফুললল মোমেডড অ্যালল"


0

জাভাস্ক্রিপ্ট 43

ফাংশন সিনট্যাক্সে সঞ্চয় করার জন্য @ মাস্টারজাঘকে ধন্যবাদ।

x=>x.replace(/[bcdfghj-np-tv-z]/gi,"$&o$&")

জাভাস্ক্রিপ্ট 62

function E(x){return x.replace(/[bcdfghj-np-tv-z]/gi,"$&o$&")}

আপনার ফাংশনটি কোনও বেনামে তীর ফাংশনের মতো হতে পারে x=>x.replace(/[bcdfghj-np-tv-z]/gi,"$&o$&")। তীর ফাংশনগুলি এর মতো কাজ করে name=(arg1, arg2)=>{code}()কেবলমাত্র একটি যুক্তি {}থাকলে প্রয়োজন হয় না এবং কোডের কেবল একটি লাইন থাকলে প্রয়োজন হয় না। এক লাইনে কিছু ফিরে আসলে রিটার্নও দরকার হয় না।

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