শেফেল থো ওয়াওলস ইউরেনড!


42

একটি ইনপুট স্ট্রিং, আউটপুট যে সব স্বরবর্ণ সঙ্গে স্ট্রিং দেওয়া a, e, i, oএবং uএলোমেলোভাবে একে অপরের মধ্যে অদলবদল করা হয়েছে।

উদাহরণস্বরূপ, স্ট্রিং this is a test, সেখানে 4 স্বরবর্ণ আছেন: [i, i, a, e]। এই স্বরগুলির একটি বৈধ সাফল্য [a, i, e, i]তাই আউটপুট দেয় thas is e tist

বদলে যাওয়া সম্পর্কে

আমরা যদি সমান স্বরকে স্বতন্ত্র বলে বিবেচনা করি তবে সমস্ত পরিবর্তনগুলি সমানভাবে সম্ভব হবে । উপরের উদাহরণের জন্য, এই 24 টি শ্যাফেলগুলি সম্ভব:

[i 1 , i 2 , a, e] [i 1 , i 2 , e, a] [i 1 , a, i 2 , e] [i 1 , a, e, i 2 ]
[i 1 , e, i 2 , a] [i 1 , e, a, i 2 ] [i 2 , i 1 , a, e] [i 2 , i 1 , e, a]
[i 2 , a, i 1 , e] [i 2 , a, e, i 1 ] [i 2 , e, i 1 , a] [i 2 , e, a, i 1 ]
[এ, আই  , আই  , ই] [এ, আই  , ই, আই  ] [এ, আই  , আই  , ই] [এ, আই  , ই, আই  ]
[এ, ই, আই  , আই  ] [এ, ই, আই  , আই  ] [ই, আই  , আই  , এ] [ই, আই  , এ, আই  ]
[ই, আই  , আই  , এ] [ই, আই  , এ, আই  ] [ই, এ, আই  , আই  ] [ই, এ, আই  , আই  ]

প্রত্যেকেরই সমানভাবে হওয়া উচিত।

সমস্ত স্বর সঠিক জায়গায় রয়েছে এমন জায়গা না পাওয়া পর্যন্ত আপনি পুরো স্ট্রিংয়ের এলোমেলো শ্যাফেলগুলি চেষ্টা না করতে পারেন। সংক্ষেপে, আপনার কোড চলমান সময় ইনপুট ধ্রুবক হতে হবে।

ইনপুট এবং আউটপুট

  • আপনি ধরে নিতে পারেন যে ইনপুটটির সমস্ত অক্ষর ছোট হাতের বা বড় হাতের হবে। আপনি মিশ্র আচ্ছাদনকে সমর্থনও করতে পারেন, যদিও এটি আপনাকে কোনও বোনাস দেয় না।

  • ইনপুটটিতে সর্বদা মুদ্রণযোগ্য এএসসিআইআই অক্ষর থাকবে। ইনপুটটিতে থাকা সমস্ত অক্ষরগুলি আউটপুটে থাকবে, কেবল স্বরগুলি অবশ্যই চারপাশে বদলে যাবে এবং অন্য কিছু নয়।

  • ইনপুট খালি থাকতে পারে। ইনপুটটিতে কমপক্ষে একটি স্বর বা কমপক্ষে একটি স্বর-স্বর থাকবে এমন কোনও গ্যারান্টি নেই।

  • STDINকোনও ফাংশন প্যারামিটার বা অনুরূপ কিছু থেকে আপনি ইনপুট নিতে পারেন ।

  • আপনি আউটপুট মুদ্রণ করতে STDOUTপারেন, এটি কোনও ফাংশন থেকে, বা অনুরূপ কিছু থেকে ফেরত দিতে পারেন।

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

প্রথম লাইনটি প্রদত্ত ইনপুট। দ্বিতীয় লাইনটি সম্ভাব্য আউটপুটগুলির মধ্যে একটি।

<empty string>
<empty string>

a
a

cwm
cwm

the quick brown fox jumps over the lazy dog.
tho qeuck brewn fax jumps ovir the lozy dog.

abcdefghijklmnopqrstuvwxyz
abcdefghujklmnipqrstovwxyz

programming puzzles & code golf
pregromming pezzlos & coda gulf

fatalize
fitaleza

martin ender
mirten ander

স্কোরিং

এই , SA হউক না কেন shirtist enswer স্বীকারোক্তি বাইট wons


17
আপনি ইংলিশ / আমেরিকান লোক এবং yস্বর হিসাবে আপনার অভাব ..;)
কেভিন ক্রুইজসেন

6
@ কেভিন ক্রুইজসেন আমি কোনও স্থানীয় বক্তা নই এবং আমি yস্বরবর্ণ হিসাবেও বিবেচনা করব , তবে শেষ চ্যালেঞ্জ যেখানে আমি বলেছিলাম yস্বর ছিল আমি কেন তাকে বেছে নিয়েছি তা জিজ্ঞাসা করা হয়েছিল!
42

7
@ কেভিন ক্রুইজসেন, চিঠিগুলি স্বর নয়: শব্দগুলি রয়েছে।
পিটার টেলর

6
সিডব্লিউএম জন্য +1। পর্বতারোহণ এবং / বা ওয়েলশকে বাঁচিয়ে রাখুন;)
বিটা ডেকে

2
@ কেভিন ক্রুজসেন এর ভো ডব্লু ইলস সম্পর্কে এমন কোনও সহ ডব্লিউ নেই যা সাধারণভাবে বিবেচিত হয় না।
কর্সিকা

উত্তর:


13

জেলি , 15 বাইট

f€“¡ẎṢɱ»ðœpżFẊ¥

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

কিভাবে এটা কাজ করে

f€“¡ẎṢɱ»ðœpżFẊ¥  Main link. Argument: s (string)

  “¡ẎṢɱ»         Yield "aeuoi"; concatenate "a" with the dictionary word "euoi".
f€               Filter each character in s by presence in "aeuoi".
                 This yields A, an array of singleton and empty strings.
        ð        Begin a new, dyadic chain. Left argument: A. Right argument: s
         œp      Partition s at truthy values (singleton strings of vowels) in A.
            FẊ¥  Flatten and shuffle A. This yields a permutation of the vowels.
           ż     Zip the partition of consonants with the shuffled vowels.

অন্যান্য উত্তরের তুলনায় এটি কেন যথেষ্ট ধীর বলে মনে হচ্ছে?

জেলি অন্য কোনও কিছুর আগে সিমপি এবং নম্পপি আমদানি করে। এই প্রোগ্রাম এবং খালি প্রোগ্রামের প্রায় একই রকম কার্যকর সময় রয়েছে have
ডেনিস


5
@ ডেনিস কৌতূহল ছাড়িয়েও, কেন জেলি অভিধানে শব্দ তৈরি করেছেন? কোথা থেকে এই অভিধানের শব্দ পাওয়া যায়?
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুইজসেন যখন আমি জেলি ডিজাইন করেছি, ইতিমধ্যে কয়েকটি গল্ফিং ভাষা ছিল যা শোক ব্যবহার করেছিল এবং কেবল একটি ইংরেজী অভিধান ব্যবহার করা সেই ধারণাটিকে উন্নত করার জন্য একটি ভাল উপায় বলে মনে হয়েছিল। আমি /usr/share/dict/wordsআমার কম্পিউটার থেকে ফাইলটি ব্যবহার করেছি এবং এটি জেলি ইন্টারপ্রেটারে অন্তর্ভুক্ত করেছি।
ডেনিস

17

আর, 92 91

এখনও মন্তব্য করতে পারছি না তাই আমি আমার নিজের উত্তরটি @ আন্দ্রে কোস্টায়ারকা উত্তরের সাথে খুব সামঞ্জস্যপূর্ণভাবে যুক্ত করছি (এটি বিশ্বাস করুন বা নাও তবে এটি স্বাধীনভাবে এনে এসেছেন)।

s=strsplit(readline(),"")[[1]];v=s%in%c("a","e","i","o","u");s[v]=sample(s[v]);cat(s,sep="")

Ungolfed

s=strsplit(readline(),"")[[1]]    # Read input and store as a vector
v=s%in%c("a","e","i","o","u")     # Return TRUE/FALSE vector if vowel
s[v]=sample(s[v])                 # Replace vector if TRUE with a random permutation of vowels
cat(s,sep="")                     # Print concatenated vector

@ ভ্লোকে ধন্যবাদ একটি বাইট সংরক্ষণ করা

s=strsplit(readline(),"")[[1]];s[v]=sample(s[v<-s%in%c("a","e","i","o","u")]);cat(s,sep="")

5
সত্য, আমি বিশ্বাস করতে পারি না। শুধু মজা করছি. কিছু বাইট বাঁচানোর জন্য দুর্দান্ত কৌশল!
Andreï Kostyrka

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

3
হেই, তাদের মিষ্টি উত্সাহ পেতে হবে যাতে আমি মন্তব্য করতে পারি;)
বিলিউব

ইন-লাইন অ্যাসাইনমেন্ট 91 বাইট সহ একটি বাইট সংরক্ষণ করুনs=strsplit(readline(),"")[[1]];s[v]=sample(s[v<-s%in%c("a","e","i","o","u")]);cat(s,sep="")
ভ্লো

el()পরিবর্তে ব্যবহার করে অন্য একটি বাইট সংরক্ষণ করুন [[1]]
আন্দ্রে কোস্টায়রকা

11

আর, 99 98 89 বাইট

x=el(strsplit(readline(),""))
z=grepl("[aeiou]",x)
x[z]=x[sample(which(z))]
cat(x,sep="")

প্রথম মানব-পঠনযোগ্য সমাধান বলে মনে হচ্ছে! 9 বাইট সংরক্ষণ করার জন্য জিউসেপ্পকে ধন্যবাদ !

পরীক্ষার কেস:

tho qaeck bruwn fux jemps over tho lozy dig.
progremmang pozzlos & cide gulf

দেখে মনে হচ্ছে যে কোনও অভ্যন্তরীণ ভেরিয়েবল অ্যাসাইনমেন্ট করার জন্য কোনও উপায় নেই (ভিতরে, যেমন, cat) এবং আবার কিছু লোক আমি ভুল প্রমাণ করতে চলেছে ...


2
letters[c(1,5,9,15,21)]1 বাইট লম্বা, এবং OEIS A161536 এবং A215721 তেমন কোনও লাভ হয়নি বলে মনে হয়।
Andreï Kostyrka

z=grepl("[aeiou]",x)খাটো হবে না ?
জিউসেপ্পে

@ জিউস্পেপ আপনি আবার এটি করেছেন! ধন্যবাদ।
আন্দ্রে কোস্টায়রকা

10

সিজেম, 23 বাইট

lee_{"aeiou"&},_mrerWf=

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

ব্যাখ্যা

l            e# Read input, e.g. "foobar".
ee           e# Enumerate, e.g. [[0 'f] [1 'o] [2 'o] [3 'b] [4 'a] [5 'r]].
_            e# Duplicate.
{"aeiou"&},  e# Keep those which have a non-empty intersection with this string
             e# of vowels, i.e. those where the enumerated character is a vowel.
             e# E.g. [[1 'o] [2 'o] [4 'a]].
_            e# Duplicate.
mr           e# Shuffle the copy. E.g. [[2 'o] [4 'a] [1 'o]].
er           e# Transliteration. Replaces elements from the sorted copy with
             e# the corresponding element in the shuffled copy in the original list.
             e# [[0 'f] [2 'o] [4 'a] [3 'b] [1 'o] [5 'r]].
Wf=          e# Get the last element of each pair, e.g. "foabor".


5

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

কেবল ছোট হাতের স্বরগুলি সমর্থন করে।

অতিরিক্ত বাইট সংরক্ষণ করার জন্য @ অ্যালিসাকে ধন্যবাদ।

import re,random
def f(s):r='[aeiou]';a=re.findall(r,s);random.shuffle(a);return re.sub(r,lambda m:a.pop(),s)

আইডিয়ন!


যদি এটি কোনও ফাংশনটি স্ট্রিং গ্রহণ করে এবং সেই স্ট্রিংটিকে বদলে দেওয়া স্বর দিয়ে ফিরিয়ে দেয় তবে এটি ছোট হবে না?
অ্যালিসা

অ্যালিসা ধন্যবাদ, এটি একটি বাইট সংরক্ষণ করেছে! : ডি
বিটা ক্ষয়

এটি আরও খাটো হবে কিনা তা নিশ্চিত নন, তবে আপনি a.pop(random.randrange(0,len(a)))পরিবর্তিত হতে পারেন
অ্যালিসা

4

টিএসকিউএল, 275 বাইট

Golfed:

DECLARE @ VARCHAR(99)='the quick brown fox jumps over the lazy dog.'

;WITH c as(SELECT LEFT(@,0)x,0i UNION ALL SELECT LEFT(substring(@,i+1,1),1),i+1FROM c
WHERE i<LEN(@)),d as(SELECT *,rank()over(order by newid())a,row_number()over(order by 1/0)b
FROM c WHERE x IN('a','e','i','o','u'))SELECT @=STUFF(@,d.i,1,e.x)FROM d,d e
WHERE d.a=e.b PRINT @

Ungolfed:

DECLARE @ VARCHAR(max)='the quick brown fox jumps over the lazy dog.'

;WITH c as
(
  SELECT LEFT(@,0)x,0i
  UNION ALL
  SELECT LEFT(substring(@,i+1,1),1),i+1
  FROM c
  WHERE i<LEN(@)
),d as
(
  SELECT 
    *,
    rank()over(order by newid())a,
    row_number()over(order by 1/0)b
  FROM c
  WHERE x IN('a','e','i','o','u')
)
SELECT @=STUFF(@,d.i,1,e.x)FROM d,d e
WHERE d.a=e.b
-- next row will be necessary in order to handle texts longer than 99 bytes
-- not included in the golfed version, also using varchar(max) instead of varchar(99)
OPTION(MAXRECURSION 0) 

PRINT @

বেহালা


3

পার্ল, 38 বাইট

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

বাক্যটি STDIN এ চালান

vawols.pl <<< "programming puzzles & code golf"

vawols.pl:

#!/usr/bin/perl -p
@Q=/[aeiou]/g;s//splice@Q,rand@Q,1/eg

3

জাভা 7, 243 241 বাইট

import java.util.*;String c(char[]z){List l=new ArrayList();char i,c;for(i=0;i<z.length;i++)if("aeiou".indexOf(c=z[i])>=0){l.add(c);z[i]=0;}Collections.shuffle(l);String r="";for(i=0;i<z.length;i++)r+=z[i]<1?(char)l.remove(0):z[i];return r;}

হ্যাঁ, এটি সম্ভবত কিছুটা গল্ফ করা যেতে পারে তবে জাভাতে এই আফিকের জন্য কোনও বিল্টইন-ইন্স নেই ... এছাড়াও, আমি কোডগল্ড অ্যারে-ভেরিয়েন্টটি ভুলে গেছি Collections.shuffle..

অবহেলিত ও পরীক্ষার কেস:

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

import java.util.*;
class M{
  static String c(char[] z){
    List l = new ArrayList();
    char i,
         c;
    for(i = 0; i < z.length; i++){
      if("aeiou".indexOf(c = z[i]) >= 0){
        l.add(c);
        z[i] = 0;
      }
    }
    Collections.shuffle(l);
    String r = "";
    for(i = 0; i < z.length; i++){
      r += z[i] < 1
               ? (char)l.remove(0)
               : z[i];
    }
    return r;
  }

  public static void main(String[] a){
    System.out.println(c("".toCharArray()));
    System.out.println(c("a".toCharArray()));
    System.out.println(c("cwm".toCharArray()));
    System.out.println(c("the quick brown fox jumps over the lazy dog.".toCharArray()));
    System.out.println(c("abcdefghijklmnopqrstuvwxyz".toCharArray()));
    System.out.println(c("programming puzzles & code golf".toCharArray()));
    System.out.println(c("fatalize".toCharArray()));
    System.out.println(c("martin ender".toCharArray()));
  }
}

সম্ভাব্য আউটপুট:

a
cwm
tha queck brown fox jumps evor tho lezy dig.
ebcdifghujklmnopqrstavwxyz
prigrommeng puzzlos & cade golf
fatelazi
mertan inder

1
iদ্বিতীয় লুপটিতে পুনরায় ব্যবহার সম্পর্কে কীভাবে ?
11:56 এ হিমশীতল

আমি ভেবেছিলাম "সে তালিকার পরিবর্তে কেন চরের সাথে গেল না", তাই আমি শুরু করেছিলাম, তবে অভাব Arrays.shuffleআমাকে ঠিক সেখানে থামিয়ে দিয়েছিল ...
অলিভিয়ার গ্রাগোয়ার

কিছু ছোটখাটো টুইট সহ 6 টি অক্ষর import java.util.*;String c(char[]z){List l=new ArrayList();int i=0,j=z.length;for(;i<j;i++)if("aeiou".indexOf(z[i])>=0){l.add(z[i]);z[i]=0;}Collections.shuffle(l);String r="";for(i=0;i<j;i++)r+=z[i]<1?(char)l.remove(0):z[i];return r;}
শেভ করা হয়েছে


3

রুবি 45 + 1 = 46 বাইট

-pপতাকা জন্য +1 বাইট

a=$_.scan(e=/[aeiou]/).shuffle
gsub(e){a.pop}

3

ব্র্যাচল্যাগ , 39 বাইট

@eI:1aToS,I:2f@~:LcS,Tc
.'~e@V;
e.~e@V,

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

ব্যাখ্যা

  • প্রধান শিকারী:

    @eI        I is the list of chars of the input.
    :1aT       T is I where all vowels are replaced with free variables.
    oS,        S is T sorted (all free variables come first).
    I:2f       Find all vowels in I.
    @~         Shuffle them.
    :LcS,      This shuffle concatenated with L (whatever it may be) results in S.
                 This will unify the free variables in S with the shuffled vowels.
    Tc         Output is the concatenation of elements of T.
    
  • ভবিষ্যদ্বাণী 1:

    .          Input = Output…
    '~e@V      …provided that it is not a vowel.
    ;          Otherwise Output is a free variable.
    
  • ভবিষ্যদ্বাণী 2:

    e.         Output is an element of the input…
    ~e@V,      … and it is a vowel.
    

3

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

s=>s.replace(r=/[aeiou]/g,_=>l.pop(),l=s.match(r).sort(_=>Math.random()-.5))

অ্যাপসিলারদের ধন্যবাদ 2 বাইট সংরক্ষণ করা

অ্যাপিলাররা প্রস্তাবিত বিকল্প সংস্করণ (76 76 বাইট পাশাপাশি)

s=>s.replace(r=/[aeiou]/g,[].pop.bind(s.match(r).sort(_=>Math.random()-.5)))

পরীক্ষা

let f =
s=>s.replace(r=/[aeiou]/g,_=>l.pop(),l=s.match(r).sort(_=>Math.random()-.5))

console.log(f("the quick brown fox jumps over the lazy dog."))


1
কোনও উন্নতি হয়নি (ঠিক একই স্কোর), তবে আমি একটি মজাদার উগলিফিকেশন পেয়েছি: l=...সম্পূর্ণভাবে ফেলে দিন এবং সীমাবদ্ধ ফাংশনটি [].pop.bind(s.match(r).sort(_=>Math.random()-.5)))দ্বিতীয় তর্ক হিসাবে replace(তীর ফাংশনের পরিবর্তে) হিসাবে ব্যবহার করুন। সেই রাস্তাটি খুঁজে পেতে কোনও উন্নতি হতে পারে তবে আমি এখনও একটি খুঁজে পাইনি। আপনি যদি কোনও জেএস-সুপারসেট ভাষা ব্যবহার করেন যার কাছে বাইন্ড অপারেটর রয়েছে ::, আমি মনে করি আপনি এটি করতে পারেন (s.match(r).sort(_=>Math.random()-.5)))::pop
এপসিলার

3

এমএটিএল , 15 বাইট

tt11Y2m)tnZr7M(

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

ব্যাখ্যা

tt      % Take input string implicitly. Duplicate twice
11Y2    % Predefined string: 'aeiou'
m       % Logical index that contains true for chars of the input that are vowels
)       % Get those chars from the input string. Gives a substring formed by the
        % vowels in their input order
tnZr    % Random permutation of that substring. This is done via random sampling
        % of that many elements without replacement
7M      % Push logical index of vowel positions again
(       % Assign the shuffled vowels into the input string. Display implicitly

3

জাপট ভি 2.0a0, 14 13 বাইট

ō²f\v
NÌr\v@o

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


ব্যাখ্যা

           :Implicit input of string U.
ö²         :Generate a random permutation of U.
  f\v      :Get all the vowels as an array.
\n         :Assign that array to U.
NÌ         :Get the last element in the array of inputs (i.e., the original value of U)
  r\v      :Replace each vowel.
     @o    :Pop the last element from the array assigned to U above.

2

পাইথ, 26 বাইট

J"[aeiou]"s.i:QJ3.Sf}TPtJQ

এমন একটি প্রোগ্রাম যা উদ্ধৃত স্ট্রিংয়ের ইনপুট নেয় এবং এলোমেলো স্ট্রিং প্রিন্ট করে।

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

কিভাবে এটা কাজ করে

J"[aeiou]"s.i:QJ3.Sf}TPtJQ  Program. Input: Q
J"[aeiou]"                  J="[aeiou]"
             :QJ3           Split Q on matches of regex J, removing vowels
                      PtJ   J[1:-1], yielding "aeiou"
                   f}T   Q  Filter Q on presence in above, yielding vowels
                 .S         Randomly shuffle vowels
           .i               Interleave non-vowel and vowel parts
          s                 Concatenate and implicitly print

2

পিএইচপি, 144 129 বাইট

ছোট হাতের ইনপুট ব্যবহার করা

$r=Aaeiou;$v=str_shuffle(preg_replace("#[^$r]+#",'',$a=$argv[1]));for(;$i<strlen($a);)echo strpos($r,$a[$i++])?$v[$j++]:$a[$i-1];

ব্যাখ্যা:

$r="aeiou"; // set vowels

preg_replace("#[^$r]+#",'',$argv[1]) // find all vowels in input

$v=str_shuffle() // shuffle them

for(;$i<strlen($a);) // run through the text

strpos($r,$a[$i++])?$v[$j++]:$a[$i-1]; // if it's a vowel print the j-th shuffled vowel else print original text

2

আসলে, 24 বাইট

;"aeiou";╗@s@`╜íu`░╚@♀+Σ

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

ব্যাখ্যা:

;"aeiou";╗@s@`╜íu`░╚@♀+Σ
;                         dupe input
 "aeiou";╗                push vowels, store a copy in reg0
          @s              split one copy of input on vowels
            @`╜íu`░       take characters from other copy of input where
              ╜íu           the character is a vowel (1-based index of character in vowel string is non-zero)
                   ╚      shuffle the vowels
                    @♀+   interleave and concatenate pairs of strings
                       Σ  concatenate the strings

2

বাশ, 75 বাইট

paste -d '' <(tr aeoiu \\n<<<$1) <(grep -o \[aeiou]<<<$1|shuf)|paste -sd ''

স্ট্রিংটিকে আর্গুমেন্ট হিসাবে গ্রহণ করে এবং ফলাফলটি stdout এ মুদ্রণ করে।

যেমন

for x in "" "a" "cwm" \
         "the quick brown fox jumps over the lazy dog." \
         "abcdefghijklmnopqrstuvwxyz" \
         "programming puzzles & code golf" \
         "fatalize" "martin ender"; do
  echo "$x";. sheffle.sh "$x"; echo
done

কপি করে প্রিন্ট

<blank line>
<blank line>

a
a

cwm
cwm

the quick brown fox jumps over the lazy dog.
tho quuck brown fix jamps ever the lozy dog.

abcdefghijklmnopqrstuvwxyz
ibcdefghajklmnopqrstuvwxyz

programming puzzles & code golf
progremmong pazzlus & cedo gilf

fatalize
fetilaza

martin ender
mertan endir

2

বাশ, 89

সমস্ত ইনপুট লোয়ারকেস হিসাবে ধরে নেওয়া হয়।

a=`tee z|grep -o [aeiou]`
[ -n "$a" ]&&tr `tr -d \ <<<$a` `shuf -e $a|tr -d '
'`<z||cat z

2

পাওয়ারশেল v3 +, 155 99 বাইট

param([char[]]$n)$a=$n|?{$_-match'[aeiou]'}|sort{random};-join($n|%{if($_-in$a){$a[$i++]}else{$_}})

56 বাইট গল্ফের জন্য @ বেন ওউনের কাছে বড় প্রপস

$nসমস্ত ছোট হাতের আশা করে ইনপুট নেয় , তাৎক্ষণিকভাবে এটিকে charঅ্যারে হিসাবে কাস্ট করে ।

আমরা নল করে একটি মধ্যে Where-Objectদফা যারা উপাদান বৈঠাচালনা আউট যে -matchএকটি স্বরবর্ণ, এর পাইপ তাদের Sort-Objectসঙ্গে {Get-Random}বাছাই প্রক্রিয়া হিসেবে। Get-Randomকোয়ালিফায়ার ছাড়াই কল করা 0এবং এর মধ্যে একটি পূর্ণসংখ্যা ফিরে আসবে [int32]::MaxValue- অর্থাত্ ফ্লাইয়ের প্রতিটি উপাদানকে এলোমেলো ওজন নির্ধারণ করে। আমরা এলোমেলোভাবে স্বরবর্ণ মধ্যে সংরক্ষণ $a

অবশেষে, আমরা মাধ্যমে লুপ $n। প্রতিটি উপাদান জন্য |%{...}, বর্তমান চরিত্র কোথাও হলে -in $a, আমরা আউটপুটে পরবর্তী উপাদান $a, পোস্ট-বৃদ্ধিশীল $iপরবর্তী সময়ের জন্য। অন্যথায়, আমরা বর্তমান অক্ষর আউটপুট। এগুলি সমস্ত প্যারেন্সে encapsulated এবং -joinএক সাথে একটি স্ট্রিং এড। সেই স্ট্রিংটি পাইপলাইনে রেখে গেছে এবং আউটপুট প্রোগ্রামের উপসংহারে অন্তর্ভুক্ত।

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

PS C:\Tools\Scripts\golfing> 'a','cwm','the quick brown fox jumps over the lazy dog.','abcdefghijklmnopqrstuvwxyz','programming puzzles & code golf','fatalize','martin ender'|%{.\vawols.ps1 $_}
a
cwm
thu qaeck brown fix jomps ovor thu lezy deg.
abcdofghejklmnupqrstivwxyz
prugrammong pizzles & code golf
fitaleza
mertin endar

$nঅক্ষরের অক্ষর দিয়ে পুনরাবৃত্তি করে এবং প্রতিটি স্বরটির সাথে মিলে charস্বরগুলির অ্যারে আউটপুট দেওয়ার জন্য আপনি এখানে প্রচুর বাইট সংরক্ষণ করতে পারেন । এর মতো কিছু:$a=[char[]]$n|?{$_-match'[aeiou]'}|sort{random}
বেন ওয়েন

@ বেনউইন হলি ডাং, হ্যাঁ 56 বাইট গল্ফ জন্য ধন্যবাদ। আমার জীবনের জন্য, আমি আরও ভাল নির্মাণের উপায় খুঁজে বের করতে পারি না $a
অ্যাডমবর্কবার্ক


1

পিএইচপি> = 5.3 , 139 136 বাইট (এবং কোনও ত্রুটি নিক্ষেপ করা হয়নি)

array_map(function($a,$b){echo$a.$b;},preg_split("/[aeiou]/",$s=$argv[1]),str_split(str_shuffle(implode(preg_split("/[^aeiou]/",$s)))));

1

কে (ওকে) , 29 বাইট

সমাধান:

{x[a:&x in"aeiou"]:x@(-#a)?a}

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

উদাহরণ:

"pregrommeng pizzlas & codo gulf"
{x[a:&x in"aeiou"]:x@(-#a)?a}"programming puzzles & code golf"
"pregremmong puzzlos & coda gilf"
{x[a:&x in"aeiou"]:x@(-#a)?a}"programming puzzles & code golf"
"pregrommeng pazzlos & cidu golf"

ব্যাখ্যা:

স্বরগুলির অবস্থানগুলি সন্ধান করুন এবং এলোমেলো ক্রমে আঁকা স্বরগুলির সাথে প্রতিস্থাপন করুন।

{x[a:&x in"aeiou"]:x@(-#a)?a} / the solution
{                           } / anonymous function with input x
 x[              ]            / index into x at these indices
      x in"aeiou"             / is character a vowel
     &                        / indices where true
   a:                         / assign to add
                  :           / assign
                          ?a  / draw randomly from a
                     (   )    / do this together
                       #a     / count length of a
                      -       / negate (draws from list, no duplication)
                   x@         / apply these indices to input

0

এপিএল (ডায়ালগ ইউনিকোড) , 21 বাইট

{⍵[?⍨≢⍵]}@{⍵∊'AEIOU'}

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

ধরে নেই বড় হাতের অক্ষর।


হায় {⍵∊'AEIOU'}∊∘'AEIOU'কাজ করে?
ক্রিটিকি লিথোস

@ কুইকাক্যাক আমার মনে হয় না, তখন থেকে এটি পার্স করা হবে ({⍵[?⍨≢⍵]}@∊)∘'AEIOU'
এরিক আউটগল্ফার

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