Lípínguapua dopo Pêpê


20

ল্যাঙ্গুয়া ডু পি বা পি ল্যাঙ্গুয়েজ, ব্রাজিল এবং পর্তুগাল ভাষায় পর্তুগিজ ভাষায় কথিত একটি ভাষার খেলা। এটি অন্যান্য ভাষায় যেমন ডাচ এবং আফ্রিকান ভাষায়ও পরিচিত। ( উইকিপিডিয়া )

এই ভাষা গেমটিতে কিছু উপভাষা রয়েছে। গেমটি যে বিভিন্ন ভাষার সাথে খেলা হয় তাদের নিজস্ব অনন্য উপভাষা রয়েছে। কিছু লোক পি ভাষায় কথা বলতে পারদর্শী এবং সেরা লোকেরা এমনকি স্পটগুলিতে তাদের পছন্দের উপভাষায় কোনও পাঠ্য অনুবাদ করতে পারে!

পি ভাষা

এই চ্যালেঞ্জে আমরা ডাবল টক উপভাষাটি ব্যবহার করব ।

পাঠ্যটি পি ভাষায় অনুবাদ করতে, পাঠ্যের স্বরগুলির যে কোনও অনুক্রম স্বরযুক্ত ক্রমের pএকটি অনুলিপি এবং একটি স্বরযুক্ত অক্ষরের সাথে সংযুক্ত করা হয় ।

চ্যালেঞ্জ

কোনও ফাংশন বা প্রোগ্রাম লিখুন যা কোনও স্ট্রিংকে ইনপুট হিসাবে গ্রহণ করে এবং পি ভাষায় এর অনুবাদকে আউটপুট করে।

  • ইনপুটটিতে কেবল মুদ্রণযোগ্য ASCII অক্ষর থাকে।
  • আউটপুটটি কেবল অনুবাদকৃত ইনপুট এবং allyচ্ছিকভাবে একটি ট্রেলিং নিউলাইন নিয়ে থাকে।
  • স্বরগুলি নিম্নলিখিত বর্ণগুলির মধ্যে একটি aeiouyAEIOUY
  • স্বরগুলির একটি ক্রম অন্য যে কোনও চরিত্র দ্বারা সীমিত করা হয়। স্ট্রিংয়ের "Aa aa-aa"তিনটি স্বরক্রম রয়েছে।
  • শীর্ষস্থানীয় এবং পশ্চাদগামী শ্বেত স্থানটি allyচ্ছিকভাবে অনুবাদকৃত আউটপুট স্ট্রিং থেকে বাদ পড়তে পারে।

উদাহরণ

""                              =>   ""
"Lingua do Pe"                  =>   "Lipinguapua dopo Pepe"
"Hello world!"                  =>   "Hepellopo woporld!"
"Aa aa-aa"                      =>   "AapAa aapaa-aapaa"
"This should be easy, right?"   =>   "Thipis shoupould bepe eapeasypy, ripight?"
"WHAT ABOUT CAPS?"              =>   "WHApAT ApABOUpOUT CApAPS?"
"   Hi "                        =>   "   Hipi " or "Hipi"

ডাবল উদ্ধৃতি অক্ষর "উদাহরণগুলিতে ইনপুট এবং আউটপুট স্ট্রিংগুলি সীমিত করতে ব্যবহৃত হয় তবে স্পষ্টতই এই অক্ষরটি কোনও বৈধ ইনপুট স্ট্রিংয়ে উপস্থিত হতে পারে।


2
আমি নিশ্চিত কেউ এখনও আপনাকে স্ট্যাকটিতে স্বাগত জানিয়েছে কিনা, তাই: কোড গল্ফ স্ট্যাক এক্সচেঞ্জে আপনাকে স্বাগতম! সুন্দরভাবে নির্দিষ্ট প্রথম চ্যালেঞ্জ। :-)
জিউসেপে

@ জিউসেপ্প দয়া করে এই শব্দটির জন্য ধন্যবাদ!
মার্টেন বামেলিস

স্প্যানিশ ভাষায় es.wikedia.org/wiki/Jerigonza
লিওনব্লাই

উত্তর:


9

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

s=>s.replace(/[aeiouy]+/gi,'$&p$&')

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

যেখানে বিশেষ প্রতিস্থাপন প্যাটার্ন $&মানে ম্যাচ করা সাবস্ট্রিং


8
আমি সম্পর্কে জানতাম না $&। এই সমস্ত বছর, আমি একটি ক্যাপচার গ্রুপে পুরো regex মোড়ানো ছিল। কে বলেছিলেন যে গল্ফটি ব্যবহারিক নয় ?!
পুনরাবৃত্তি

2
কি $&আরো সাধারণ উপায়? জাভাতে এটি $0আফাইক, এবং রেটিনা উভয়কেই অনুমতি দেয়। $&জাভাস্ক্রিপ্ট থেকে জানতেন না । অথবা এটি একটি .NET স্বাদযুক্ত রেজেক্স, এবং জাভাস্ক্রিপ্টও এটি ব্যবহার করে?
কেভিন ক্রুইজসেন

9

সেড, 30 , 25 , 21 , 19 বাইট

-5 বাইট ধন্যবাদ আর্নল্ডকে!
-4 বাইট শ্যাগিকে ধন্যবাদ!
-2 বাইট ধন্যবাদ লিও টেনেনবাউমকে!

s/[aeiouy]\+/&p&/gi

অনলাইনে চেষ্টা করে দেখুন!



7

জাপট , 10 বাইট

r"%y+"_+ip

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

r"%y+"_+ip     :Implicit input of string
r              :Replace
 "%y+"         :RegEx /[aeiouy]+/gi
      _        :Pass each match through a function
       +       :  Append a copy of the match
        ip     :  Prepended with "p"

খুব খারাপ, 2 মিনিট দেরী! আমার ঠিক একই উত্তর ছিল, এটিতে জাপট ২.০ সংক্ষিপ্ত রাজপথগুলি ব্যবহার করা ছাড়া "%v"->\v
অজ্ঞতার

অজানা, আপনার \yপরিবর্তে প্রয়োজন হবে \v
শেগি

6

জাভা 8, 40 বাইট

s->s.replaceAll("(?i)[aeiouy]+","$0p$0")

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

ব্যাখ্যা:

s->                              // Method with String as both parameter and return-type
  s.replaceAll("(?i)[aeiouy]+",  //  Replace the regex matches
               "$0p$0")          //  With this replacement

রেজেক্স ব্যাখ্যা:

(?i)[aeiouy]+                    // MATCH:
(?i)                             //  Enable case insensitivity
            +                    //  Match one or more
    [aeiouy]                     //  Adjacent vowel characters

$0p$0                            // REPLACEMENT:
$0                               //  The entire match (the vowel 'sequence')
  p                              //  Appended with a literal "p"
   $0                            //  Appended with the entire match again


3

পাইথন 3 , 55 বাইট

lambda s:re.sub('([aeiouy]+)',r'\1p\1',s,0,2)
import re

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


সানস রেজেেক্স:

পাইথন 3 , 101 বাইট

def f(s,q=''):i=s[:1];t=i in{*'aeiouyAEIOUY'};return(q+(q!='')*'p'+q+i)*0**t+(s and f(s[1:],(q+i)*t))

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

পাইথন 3.8 (প্রাক রিলিজ): 99 বাইট

ব্যাখ্যা

পুনরাবৃত্ত ফাংশন, একটি স্ট্রিং sএবং একটি alচ্ছিক যুক্তি গ্রহণ করে qs( i) এর প্রথম অক্ষরটি যদি স্বর হয় তবে এটি কাতারে সংরক্ষণ করা হয় q। যদি না হয়, একটি স্ট্রিং ফিরিয়ে দেওয়া হয় যা গঠিত হয় q, চিঠি 'p', qআবার, চরিত্র iএবং স্ট্রিং এর প্রথম অক্ষর দিয়ে রিকার্সিভ ফাংশন ফল খুলে নিল। ফাংশনটি কোনও ফাঁকা স্ট্রিংয়ের মুখোমুখি হলে পুনরাবৃত্তি থামে s


2
রেজেক্স ছাড়াই সমাধানটি ভালোবাসুন!
মার্টেন বামেলিস

3

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

.γžÁyå}vyžÁyнåi'py}J

05AB1E এর দুর্ভাগ্যক্রমে কোনও রেজিেক্স নেই।
আমি সদৃশটি সত্যই পছন্দ করি না žÁyнåতবে বিকল্পের সন্ধানে আমি বর্তমানে কিছুটা ব্যস্ত ..

-২ বাইটস @ গ্রিমিকে আমাকে অবিচ্ছিন্ন দেখানোর জন্য ধন্যবাদ যা আমার অস্তিত্বও জানা ছিল না (এবং উইকি পৃষ্ঠা থেকে নিখোঁজ ছিল ..>)>)

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

               # Group the characters in the (implicit) input-string by:
  žÁ             #  Push vowels builtin: "aeiouyAEIOUY"
    yå           #  And check if the current character is in this string
 }v              # After grouping: loop over each group `y`:
   y             #  Push group `y`
    žÁyнåi   }   #  If the first character of the group is a vowel:
          'p    '#   Push a "p"
            y    #   And push group `y` again
              J  #  Join everything on the stack together to a single string
                 # (after the loop, implicitly output the result)

žÁপরিবর্তে žOআপনি ড্রপ করতে দেয় l
গ্রিমি

@ গ্রিমি সম্ভবত আমার উইকি পৃষ্ঠার পরিবর্তে তথ্য.টিএসটি ফাইল ব্যবহার শুরু করা উচিত .. -_- '
কেভিন ক্রুইজসেন

এগুলি উভয়ই একই রকম না হলেও প্রচুর কমান্ড অনুপস্থিত (আশা করি। মাঝে মাঝে ভাবতে পারি যে দু'জনের কাছ থেকে কোনও গোপন কমান্ড নেই))
গ্রিমি

1
@ গ্রিমি হ্যাঁ, সম্ভবত আমাদের তথ্য ডট টেক্সট বা উইকি পৃষ্ঠাগুলির পরিবর্তে উত্স কোডটি ব্যবহার করা উচিত । ;)
কেভিন ক্রুইজসেন

2

রেটিনা 0.8.2 , 17 বাইট

i`[aeiouy]+
$&p$&

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। ব্যাখ্যা: তুচ্ছ regexp পদ্ধতির; iকেস insensitivity থাকা ফ্ল্যাগ পালাক্রমে (অক্ষিপট ইতিমধ্যে একটি বিশ্বব্যাপী ম্যাচ ডিফল্ট)।



1

লাল , 92 বাইট

func[s][v: charset"aeiouyAEIOUY"parse s[any[to v copy t any v insert(rejoin["p"t])| skip]]s]

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

অবশ্যই রেড এর Parseচেয়ে অনেক বেশি ভার্বোজ regex


1
regexনিশ্চিত হওয়ার চেয়ে আরও ভার্বোজ , তবে সম্ভবত এটি এটি আরও আকর্ষণীয় করে তোলে। আমি এটা পছন্দ করি!
মার্টেন বামেলিস

@ মার্টেনবেমেলিস আপনাকে ধন্যবাদ! হ্যাঁ, রেড (রেবোলের মতো) একটি আকর্ষণীয় ভাষা।
গ্যালেন ইভানভ


1

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

àº`≈Zö=q╦ⁿ↔èblTï÷

এটি চালান এবং এটি স্ট্যাক্সএল.এক্সজে ডিবাগ করুন!

প্যাকযুক্ত (20 বাইট) এবং ব্যাখ্যা:

Vv'y+c^+:}'++{'pnL}R
                   R    Regex replace using
                        Pattern:
Vv'y+                     Push "aeiou", push "y", and concatenate
     c^+                  Copy, convert copy to all caps, and concatenate
        :}                Enclose in []
          '++             Push "+" and concatenate
                        And replacement:
             {    }       Block:
              'p            Push "p"
                n           Copy second item (matching substring) to top
                 L          Listify
                          Implicit concatenate
                        Implicit print

স্ট্যাক্সে কোনও কেস-সংবেদনশীল নিয়মিত প্রকাশ নেই এবং স্বর অন্তর্নির্মিত ওয়াই অন্তর্ভুক্ত করে না।

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