ওট ওয়ে থি বিস্ট ইউফ টমিস


36

আমি কেবল এই সহজ সাইফারটি পছন্দ করি, এটি বেশ মজাদার নয়-খুব সহজেই মানব-পঠনযোগ্য শব্দগুলি পড়ে না এবং শূন্যস্থানগুলি পূরণ করে ...

Ot wes thi bist uf tomis, ot wes thi wurst uf tomis, 
ot wes thi egi uf wosdum, ot wes thi egi uf fuuloshniss, 
ot wes thi ipuch uf biloif, ot wes thi ipuch uf oncridaloty, 
ot wes thi siesun uf loght, ot wes thi siesun uf derkniss, 
ot wes thi sprong uf hupi, ot wes thi wontir uf dispeor, 
wi hed ivirythong bifuri as, wi hed nuthong bifuri as, 
wi wiri ell guong dorict tu hievin, wi wiri ell guong dorict thi uthir wey – 
on shurt, thi piroud wes su fer loki thi prisint piroud, 
thet sumi uf ots nuosoist eathurotois onsostid un ots biong riciovid, 
fur guud ur fur ivol, on thi sapirletovi digrii uf cumperosun unly.

নিয়মগুলি অতি-সরল:

  • কিছু পাঠ্য ইনপুট হিসাবে গ্রহণ করুন (ascii অক্ষর, ছোট / বড় হাতের অক্ষর এবং বিরামচিহ্ন)।
  • প্রতিটি স্বরবর্ণের জন্য, এটি পরবর্তী স্বরটিতে ঘোরাতে বা শুরুতে ফিরে যান।
    • a => ই
    • e => i
    • i => ও
    • o => ইউ
    • u => ক
  • উচ্চতর ক্ষেত্রে স্বরগুলি উচ্চতর ক্ষেত্রে থাকে, লোয়ার কেস স্বরগুলি কম ক্ষেত্রে থাকে।
  • এই রূপান্তরগুলির পরে পাঠ্য আউটপুট করুন।
  • অ্যাকসেন্টগুলি সমর্থন করার প্রয়োজন নেই।
  • অন্যান্য সমস্ত অক্ষর অপরিবর্তিত থাকা উচিত।
  • এটি সর্বনিম্ন সংখ্যা বাইটে করার চেষ্টা করুন।
  • আপনার পছন্দ মতো কোনও পুরানো ভাষা।

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

It was the best of times, it was the worst of times,
it was the age of wisdom, it was the age of foolishness,
it was the epoch of belief, it was the epoch of incredulity,
it was the season of light, it was the season of darkness,
it was the spring of hope, it was the winter of despair,
we had everything before us, we had nothing before us,
we were all going direct to heaven, we were all going direct the other way –
in short, the period was so far like the present period,
that some of its noisiest authorities insisted on its being received,
for good or for evil, in the superlative degree of comparison only.

বাইরে:

Ot wes thi bist uf tomis, ot wes thi wurst uf tomis, 
ot wes thi egi uf wosdum, ot wes thi egi uf fuuloshniss, 
ot wes thi ipuch uf biloif, ot wes thi ipuch uf oncridaloty, 
ot wes thi siesun uf loght, ot wes thi siesun uf derkniss, 
ot wes thi sprong uf hupi, ot wes thi wontir uf dispeor, 
wi hed ivirythong bifuri as, wi hed nuthong bifuri as, 
wi wiri ell guong dorict tu hievin, wi wiri ell guong dorict thi uthir wey – 
on shurt, thi piroud wes su fer loki thi prisint piroud, 
thet sumi uf ots nuosoist eathurotois onsostid un ots biong riciovid, 
fur guud ur fur ivol, on thi sapirletovi digrii uf cumperosun unly.

ইন:

The quick brown fox jumps over the lazy dog.

বাইরে:

Thi qaock bruwn fux jamps uvir thi lezy dug.

ইন:

Home is where the heart is.

বাইরে:

Humi os whiri thi hiert os.

ইন:

Boaty McBoatface

বাইরে:

Buety McBuetfeci

ইন:

AEIOUaeiou

বাইরে:

EIOUAeioua

ইন:

Programming Puzzles And Code Golf

বাইরে:

Prugremmong Pazzlis End Cudi Gulf


4
হুম। ওল্ড ইংলিশ?
আইয়াম্যাক্স

10
তবুও বেওলফের চেয়ে সহজ পড়া read
স্মিটো

4
আমার কাছে কিউই-অনুবাদকের মতো দেখাচ্ছে।
মাগু

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

উত্তর:


11

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

öΦΣòC└∞

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

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

ব্যাখ্যা (প্যাকযুক্ত)

Vv:tVV:t
Vv:t           #Push aeiou and ring translate it to input
    VV:t       #Push AEIOU and ring translate it to input

আরও বাঁচাতে সক্ষম হতে পারে, চেষ্টা চালিয়ে যাবে।


22

এমএস-এসকিউএল, 51 বাইট

এসকিউএল 2017 বা তারও উপরে কাজ করে:

SELECT TRANSLATE(v,'AEIOUaeiou','EIOUAeioua')FROM t

নতুন ফাংশন TRANSLATEস্বতন্ত্র চরিত্র প্রতিস্থাপন সম্পাদন করে, তাই এই চ্যালেঞ্জের জন্য আদর্শভাবে উপযুক্ত।

ইনপুট পূর্ব বিদ্যমান টেবিল মারফত টি varchar কলাম সহ বনাম , আমাদের আই নিয়ম অনুযায়ী

এক্ষেত্রে কেস-সংবেদনশীল সার্ভারে চালনা করে বা কীওয়ার্ডটি ব্যবহার করে (অক্ষরের সামগ্রীর সাথে গণনা করা হয় না) কেস-সংবেদনশীল কোলেশন ব্যবহার করে টেবিলটি তৈরি করতে হবে COLLATE:

CREATE TABLE t(v varchar(max) COLLATE Latin1_General_CS_AS)

সম্পাদনা : এসএসএমএস "ফলাফল পাঠ্যে পাঠানো" উইন্ডোতে ফলাফল ফিরিয়ে দেওয়ার সময় উপরের দীর্ঘ উদ্ধৃতিটি কেটে ফেলতে পারে, এটি ক্লায়েন্ট সেটিংস, আমার প্রোগ্রামে কোনও বাগ নয়

ঠিক করতে, যান Tools > Options > Query Results > SQL Server > Results to Textএবং "প্রতিটি কলামে প্রদর্শিত অক্ষরের সর্বাধিক সংখ্যার" এ যান এবং বাড়ান।


1
আমি সত্যই হতবাক হয়েছি যে এসকিউএল এটির জন্য প্রতিযোগিতার আরও কাছাকাছি । এছাড়াও, এটি একটি দুর্দান্ত ফাংশন! আমাদের বলার জন্য ধন্যবাদ :)
ফান্ড মনিকার লসুইট

@ নিক হার্টলি হ্যাঁ, তারা প্রতিটি সংস্করণে কয়েকটি কার্যকর ফাংশন যুক্ত করবে বলে মনে হয়। REPLACEকিছু ট্রিকের জন্য আপনি এটিকে বাসাতেও পারেন : REPLACE(TRANSLATE(v,'1234567890','xxxxxxxxxx'),'x','')উদাহরণস্বরূপ, একটি স্ট্রিং থেকে সমস্ত সংখ্যাগুলি মুছে ফেলার জন্য। এখনও লম্বা, তবে 10 টি নেস্টেডের চেয়ে অনেক কম REPLACE
ব্র্যাডিসি


14

হাস্কেল , 52 বাইট

(a:b)!c|a/=c=b!c|1>0=b!!0
a!b=b
map("aeiouaAEIOUA"!)

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

লিন আমাকে চেয়ে দুটি বাইট বাঁচিয়েছিল যা !!0তার চেয়ে ছোট head

ব্যাখ্যা

আপনি যদি হাস্কেলকে কখনও কোড করেন না তবে এটি সম্ভবত জিব্বারিশের স্তূপের মতো দেখাবে। সুতরাং প্রথমে এটি উনল্ফ করা যাক এবং এরপরে এটি ভেঙে দিন:

(a:b)!c
 |   a/=c   = b!c
 |otherwise = b!!0
a!b=b
map("aeiouaAEIOUA"!)

প্রথমে আমাদের একটি ফাংশন রয়েছে !যা একটি স্ট্রিং sএবং একটি অক্ষর নেয় c। আমাদের প্রথম প্যাটার্ন ম্যাচের ক্যাচগুলি ইনপুট গ্রহণ করে যদি স্ট্রিংটি খালি না থাকে। স্ট্রিংটি খালি না থাকলে আমরা এর প্রথম অক্ষরটির সাথে তুলনা করি c। এটির প্রথম অক্ষরটি যদি সমান না হয় তবে cআমরা এটিকে টস করব এবং !স্ট্রিংয়ের বাকী অংশগুলির সাথে আবার কল করব c। এটি সমান হলে আমরা স্ট্রিংয়ের দ্বিতীয় অক্ষরটি ফিরিয়ে দেব।

আমাদের পরবর্তী প্যাটার্ন ম্যাচটি অন্যান্য সমস্ত ক্ষেত্রে স্ট্রিংটি ধরে, এটি স্ট্রিং খালি থাকলে। এক্ষেত্রে আমরা কেবল ফিরে আসি c

সব এই ফাংশন সকল একটি অক্ষর লাগে cএবং একটি স্ট্রিং sএবং প্রথম সংঘটন পর চরিত্র ফেরৎ cমধ্যে s। যদি আমরা aeiouaAEIOUAএটির সাথে পাস করি তবে একটি সিঙ্গেল চরিত্রে আমাদের সিফারটি সম্পাদন করবে। আমাদের পুরো ফাংশনটি তৈরি করার জন্য আমাদের স্ট্রিং জুড়ে এটি ম্যাপ করা উচিত।


12

রেটিনা ,10 9 8 বাইট

T`uo`vVA

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

নিলকে 1 টি বাইট সংরক্ষণ করা হয়েছে! এবং আরেকটি বাইট ধন্যবাদ মার্টিনকে!

রেটিনার নতুন সংস্করণে স্বরবর্ণের ক্লাস রয়েছে, যা ফলাফলটি কিছুটা খাটো করে তোলে। অনুলিপি "অন্যান্য" শ্রেণীর ব্যবহারও করে। সুতরাং to"aeiouAEIOUA" মত বর্গ দেখায়, যখন from"uaeiouAEIOUA" মত বর্গ সৌন্দর্য

ইতিমধ্যে ম্যাপ করা হওয়ার পরে দ্বিতীয় uম্যাপিং Aকখনই করা হবে না এটি কোনও সমস্যা সৃষ্টি করে না ।ua


9 বাইট: T`_o`uvUV
নিল

এটি একটি উল্লেখযোগ্য সংক্ষিপ্ত উত্তর!
এজেফারাডে

@ নীল চতুর, ধন্যবাদ! আমি ভেবেছিলাম যে _সেট থেকে একটি স্থাপন করা এটি আক্ষরিক আচরণ করবে, তবে দেখে মনে হচ্ছে এটি এটি করে না।
FryAmTheEggman

3
আপনি আরও একবার শেভ করতে পারেন তবে দুর্ভাগ্যক্রমে আমি স্ট্যাক্স বাঁধতে পারি না: tio.run/##HYnBDoIwEAXv/…
মার্টিন এন্ডার

টুইটারে এটি একটি চালাক সেটআপ, দুজনের মধ্যে মেশানো। আমি Yএখনও খুব বেশি ব্যবহার করার চেষ্টা করিনি তাই আমি আগামীকাল একটি শট দেব।
FryAmTheEggman

9

পার্ল 5 + -পি, 24 23 বাইট

y;AEIOUaeiou;EIOUAeioua

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

-১ বাইট @ ডোমহাস্টিংসকে ধন্যবাদ


1
আমরা -pআর +1 হিসাবে গণনা করি না , পরিবর্তে আমরা বিবেচনা করি যে এই উত্তরটি "পার্ল 5 + -p" এ রয়েছে।
এরিক আউটগল্ফার

1
এটি
সেডেও

1
আপনি যদি ;ডিলিমিটার হিসাবে ব্যবহার করেন তবে আপনি বাইট সংরক্ষণ করতে পারবেন!
ডম হেস্টিংস

আপডেট, @Cowsquack আর
Nahuel Fouilleul

6

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

lambda x:x.translate(str.maketrans('aeiouAEIOU','eiouaEIOUA'))

strস্ট্যাটিক str.maketransপদ্ধতিতে একটি অনুবাদ টেবিল (অভিধান) তৈরি করুন । প্রাসঙ্গিক অক্ষরগুলি তাদের গন্তব্য চরিত্রটিতে অনুবাদ করুন।


এটি কোথায় I / O সঞ্চালন করে?
পুনরায় পোস্টার

@ রিনিয়ারপোস্ট এটি একটি ফাংশন। ইনপুটটি xপ্যারামিটারের মাধ্যমে । পাইথনে, ল্যাম্বদা ফাংশনগুলির রিটার্ন স্টেটমেন্টের প্রয়োজন হয় না।
মাইপিটলিয়ন

6

সি, 85 76 67 65 64 বাইট

f(char*c){for(;*c;)putchar(1[index("AEIOUAaeioua",*c++)?:c-2]);}

কেভিন ক্রুইজসেনের জাভা উত্তর বন্দর । এটি এখানে অনলাইনে চেষ্টা করুন

9 বাইট গল্ফ করার জন্য কেভিন ক্রুইজসেনকে ধন্যবাদ , 11 বাইট গল্ফিংয়ের জন্য ক্রিস্টফকে এবং 1 বাইট গল্ফিংয়ের জন্য সিলিংক্যাটকে ধন্যবাদ।

অবরুদ্ধ সংস্করণ:

f(char* c) { // function taking a char array as parameter and implicitly returning an unused int
    for(; *c ;) // loop over the input
        putchar(1 [index("AEIOUAaeioua", * c++) ?: c-2]); // find the first pointer to the current char in the vowels string, NULL if not present; if it's not NULL, print the next vowel, otherwise just print the char
}

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

1
@ ক্রিসটফ আমি আপনার পুনরাবৃত্তি ব্যবহার পছন্দ করি তবে আমি নিশ্চিত নই যে আমরা একটি অনুবর্তন করতে পারি \0। এছাড়াও, ঝাঁকুনি
ওব্লান্স

1
@ ক্রিসটফ: অপরিজ্ঞাত আচরণটি যেখানে ছিল আমি আগ্রহী ছিলাম, তাই আমি আরও কিছু বলার পরে ঝনঝন সংস্করণটি ডিবাগ করেছিলাম। const char *res = strchr("AEIOU...", 0)আক্ষরিক স্ট্রিংয়ে টার্মিনেটরে একটি পয়েন্টার দেয়। putchar(res[1])আক্ষরিক স্ট্রিংয়ের শেষটি পড়ে। জিসিসির সাহায্যে এটি সম্ভবত অন্য শূন্য বাইট খুঁজে পেতে পারে এবং এটি কাজ করে, তবে ঝাঁকুনির সাহায্যে এটি একটি পায় 73 'I'(সম্ভবত mainস্ট্রিং আক্ষরিক "এটি ছিল ...", তবে আমি এটিএমটি পরীক্ষা করিনি)। সুতরাং putchar0 ফিরে আসে না এবং আমরা শেষ পর্যন্ত সেমফ্রোল্ট যখন *c++কোনও আনম্যাপযুক্ত পৃষ্ঠাটি পড়ে।
পিটার কর্ডেস

2
@ পিটারকর্ডস হ্যাঁ আমি একটি সন্দেহ থাকার পরে এখানে এটি সম্পর্কে জানতে পারি । যাইহোক এখানে আরও 2 টি বাইট সংরক্ষণ করা হয়েছে f(char*c){for(;*c;)putchar(1[strchr("AEIOUAaeioua",*c++)?:c-2]);}। আমি এখন অনুমান করি এটাই সব।
ক্রিস্টোফ

1
@ রোজেম সংযোজনের বাণিজ্যিক সম্পত্তি হিসাবে a[b]==*(a+b)==*(b+a)==b[a],। অতএব1[...]==(...)[1]
সিলিংক্যাট



5

পাইথন 2 , 79 68 67 বাইট

-1 বাইট @ আর্নল্ডপালমারকে ধন্যবাদ

V='uaeiouAEIOUA'
print''.join((V[1:]+c)[V.find(c)]for c in input())

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


67 বাইট । এছাড়াও, দুঃখিত, আপনি বিজ্ঞপ্তিগুলি প্লাবিত হয়ে গেলে, আমি কিছুক্ষণের মধ্যে একটি মন্তব্য পোস্ট করি নি এবং কীভাবে এটি করতে হবে তা ভুলে গেছি।
আর্নল্ড পামার

@ আর্নল্ডপালার ধন্যবাদ! ঠিক আছে, আমি দূরে ছিলাম এবং তারা সবাই আমাকে মিস করেছিল: ডি
ডেড পসসাম




4

জাপট 2.0, 25 21 বাইট

শেগির সাথে এইটিকে গল্ফ করতে আমি মজা পেয়েছি।

r\v@=`aeia`pu)g1+UbX

এটি এখানে চালান।



1
@ শেগি যা মূলধন স্বর দিয়ে কাজ করে না।
অলিভার

1
যে ক্ষেত্রে ... 22 বাইট
শেগি

1
@ শেগি এটি মজাদার ... 21 বাইট
অলিভার

1
নিস! আমি মনে করি এটি আমি প্রথমবার S.p(f)ব্যবহার করতে দেখেছি ।
শেগি

4

জাভা 10, 97 87 বাইট

s->{for(var c:s){var t="AEIOUAaeioua"+c+c;System.out.print(t.charAt(t.indexOf(c)+1));}}

দ্বারা অনুপ্রাণিত হওয়ার পর -10 বাইট @Arnauld এর জাভাস্ক্রিপ্ট উত্তর (তাঁর 60 বাইট সংস্করণ)

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

ব্যাখ্যা:

s->{                         // Method with character-array parameter and no return-type
  for(var c:s){              //  Loop over the input characters
    var t="AEIOUAaeioua"     //  Temp-String containing the order of vowels 
                             //  (including additional 'A' and 'a'),
          +c+c;              //  appended with two times the current character
    System.out.print(        //  Print:
      t.charAt(              //   The character in String `t` at index:
         t.indexOf(c)+1));}} //    The (first) index of the current character in `t` + 1

4

05 এ বি 1 , 14 13 11 বাইট

žMDÀ‡žMuDÀ‡

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


1
আপনি কেবল একটি মাল্টি-লাইন স্ট্রিং হিসেবে ইনপুট গ্রহণ করে দুই বাইট সংরক্ষণ করতে পারেন, তাই জন্য কোন প্রয়োজন নেই |এবং »: অনলাইনে চেষ্টা করুন: 11 বাইট
কেভিন ক্রুইজসেন 14

ধন্যবাদ কেভিন ক্রুজসেন! এটি কি এমন কিছু নয় যা সাম্প্রতিক 05AB1E রিলিজে স্থির হয়েছিল?
ক্যাল্ডো

কোন ধারণা tbh। এই বছরের শুরু থেকে কেবল 05AB1E শুরু হয়েছে। আপনি যদি জানতে চান বৈশিষ্ট্যটি যুক্ত করা হয়েছিল তখন আপনি 05 এএবি 1 ই চ্যাটে @ আদনানকে জিজ্ঞাসা করতে পারেন।
কেভিন ক্রুইজসেন


3

এপিএল + উইন, 55 বাইট

ইনপুট স্ট্রিংয়ের জন্য অনুরোধ:

i←(10≥n←'AEIOUaeiou'⍳s)/⍳⍴s←⎕⋄s[i]←'EIOUAeioua'[n~11]⋄s

3

মাম্পস, 38 বাইট

R T W $TR(T,"AEIOUaeiou","EIOUAeioua")

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

Programming Puzzles And Code GolfPrugremmong Pazzlis End Cudi Gulf

আপনি যদি কোনও ক্যারেজ রিটার্ন যুক্ত করতে চান তবে এইভাবে দুটি বাইট যুক্ত করুন:

R T W !,$TR(T,"AEIOUaeiou","EIOUAeioua")

3

ভিম + টিপোপ / ভিম -বিলোপ , 30 বাইট

:%S/{a,e,i,o,u}/{e,i,o,u,a}/g<cr>

বিকল্প সমাধান, এছাড়াও 30 বাইট:

Oe,i,o,u<esc>|D:%s/{a,<C-r>"}/{<C-r>",a}/g

মেটা অনুসারে , ভিম উত্তরগুলি কোনও বাইট জরিমানা ছাড়াই প্লাগইন ব্যবহার করতে পারে। এটি কোনও ভিম ​​উত্তর নয়, তবে একটি ভিম + রহিত উত্তর।


আবোলিশ একটি অত্যন্ত দরকারী প্লাগইন। এই কমান্ডটি ( কমান্ড) কীভাবে কাজ করে README এর এই বিভাগটি সুন্দরভাবে বর্ণনা Subvertকরেছে।


3

সিজেম , 29 19 বাইট

q"aeioua"_eu+_1m<er

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

-10 বাইটস @ পিটার টেলরকে ধন্যবাদ

ব্যাখ্যা:

q                       # take all input
 "aeioua"               # push vowel pairs
         _eu            # duplicate, uppercase
            +_          # concatenate, duplicate again
              1m<       # rotate left by 1
                 er     # transliterate

যদিও প্রশ্নটি ইনপুট সম্পর্কে সুনির্দিষ্ট নয় তবে আমি মনে করি আপনার ইনপুট নেওয়ার qচেয়ে সম্ভবত ব্যবহার করা উচিত l। প্রথম পরীক্ষার কেসটি বহু-লাইনের বলে মনে হয়। এছাড়াও আপনি খাটো করতে পারেন "eioua"থেকে _1m<। প্রকৃতপক্ষে, আপনি আরও যেতে পারেন এবং এটিকে গল্ফ করতে পারেনq"aeioua"_eu+_1m<er
পিটার টেলর

3

AutoHotkey , 24 বাইট

আউটহটকি স্বয়ংক্রিয়ভাবে কেস সংবেদনশীল পদ্ধতিতে চিঠিগুলি প্রতিস্থাপন করে।

a::e
e::i
i::o
o::u
u::a

2

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

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

কোড

function f($s){echo strtr($s,array_combine(str_split(UuAaEeIiOo),str_split(AaEeIiOoUu)));}

ব্যাখ্যা

function f($s){
 echo strtr(
       $s,                          #The string to operate
       array_combine(               #combining arrays
            str_split(UuAaEeIiOo),  #splitting this strings
            str_split(AaEeIiOoUu))
              # With array combine php creates an array like
              # ["U"=>"A", "a"=>"e"....and so on]
              # strtr can replace strings in a string, using an array with 
              # the values to replace and with what replace each value.
 );
}

75 php -rব্যবহার করে চালানো বাইট$argv

<?=strtr($argv,array_combine(str_split(UuAaEeIiOo),str_split(AaEeIiOoUu)));



2

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

strtrস্বর প্রতিস্থাপনের জন্য বেশ সহজ, খুব সৃজনশীল নয়, ব্যবহারগুলি :

<?=strtr($argn,aeiouAEIOU,eiouaEIOUA);

এটি দিয়ে চালান echo '<input>' | php -nF <filename>বা অনলাইনে চেষ্টা করুন


এটি কি ধরে নেয় না যে ইনপুটটি পূর্বনির্ধারিত ভেরিয়েবলের জন্য বরাদ্দ করা হয়েছে argn? যদি তাই হয় তবে তা বৈধ নয়; আপনার যুক্তি হিসাবে স্ট্রিংটি পাস করতে হবে এবং তার $argv1]পরিবর্তে ব্যবহার করতে হবে।
শেগি

2
@ শেগি না, আপনি যদি এটি -Fপতাকা সহ চালান , তবে এটি কমান্ড লাইনে ইনপুট নিয়ে কাজ করে। অপশনগুলিতে পিএইচপি ডক্স থেকে : -F --process-file PHP file to execute for every input line. Added in PHP 5.অনলাইন ভেরিয়েবল সংজ্ঞায়নের চেষ্টা করুন কারণ কিছু লোকের স্থানীয়ভাবে পিএইচপি ইনস্টল নেই এবং আমি -Fটিআইওতে পতাকাটি কাজ করতে পারিনি ।
ডেভড

1
ধন্যবাদ, @ ডেভিড - পিএইচপি-র জন্য এটিই আমার "নতুন কিছু" :)
শেগি

2

q / kdb +, 36 33 বাইট

সমাধান:

{(v,2#x)1+(v:"aeiouaAEIOUA")?x}@'

উদাহরণ:

q){(v,2#x)1+(v:"aeiouaAEIOUA")?x}@'"AEIOUaeiou"
"EIOUAeioua
q){(v,2#x)1+(v:"aeiouaAEIOUA")?x}@'"Programming Puzzles And Code Golf"
"Prugremmong Pazzlis End Cudi Gulf"

ব্যাখ্যা:

স্বরগুলির সূচীটি বের করুন, পরবর্তী এবং সূচকে এগিয়ে যেতে একটি যুক্ত করুন Still তবুও মনে করেন এই পদ্ধতির উল্লেখযোগ্য উন্নতি করা যেতে পারে ...

{(v,2#x)1+(v:"aeiouaAEIOUA")?x}@' / the solution
{                             }@' / apply lambda to each character of input
                            ?x    / look up x in...
          (                )      / do together
             "aeiouaAEIOUA"       / lookup list
           v:                     / save as v
        1+                        / add one
 (     )                          / do together
    2#x                           / take 2 copies of x
  v,                              / prepend v

বোনাস:

আমার পুরানো ** 36 বাইট (()) সমাধান যা আমি মনে করি এটি বেশ শীতল, তবে এটি প্রতিযোগিতামূলক করার জন্য তালিকাগুলি গল্ফ করা দরকার:

ssr/[;"uoiea%UOIEA%";"%uoiea%UOIEA"]

2

কাঠকয়লা , 35 বাইট

UT≔AUOIEAauoieaσF¹¹⊞υ➙§σ⊕ι§σι▷SR⟦Sυ

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

নিষ্পাপ পদ্ধতি।

ব্যাখ্যা:

UT                                         Set trim option to on, so output won't be a rectangle
    ≔AUOIEAauoieaσ                          Assign "AUIOEAauioea" to s
                   F¹¹                      For i (ι) from 0 to 10
                       ⊞υ                   Push to u (initially empty list)
                          ➙                 Rule of:
                            §σ⊕ι            S[i + 1]
                                 §σι         to S[i]. This is so a->A gets overwriteen by a->e
                                    ▷SR⟦Sυ  Replace input as string using u (now a list of rules)

2

পিএইচপি , 76 বাইট।

$s=strtr($s,array_combine(str_split("aeiouAEIOU"),str_split("eiouaEIOUA")));

এটা দেখ!

এই পিএইচপি-তে আমি এটি করতে সক্ষম হয়েছি।

$s = //overwrite $s variable ($s should be a defined string or input)
    strtr(  //strtr replaces key => value pairs from arrays in a string
        $s, //the string we are converting
        array_combine( //create an array with key value pairs, key should be original vowel letter and value should be it's replacement
            str_split("aeiouAEIOU") //turn vowels (lower and upper) into an array
            ,str_split("eiouaEIOUA") //turn vowel replacements into an array
        )
    );
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.