ক্যাপড স্ট্রিং মই


12

একটি স্ট্রিং sএবং ধনাত্মক পূর্ণসংখ্যার দেওয়া N, ধীরে ধীরে প্রতিটি চরিত্রকে Nসদৃশ হওয়া পর্যন্ত আরও বেশি করে নকল করুন এবং তারপরে অক্ষরগুলি শেষ Nহওয়া অবধি ডুপ্লিকেটগুলিতে থাকুন এবং তারপরে Nআবার নামবেন।

উদাহরণস্বরূপ, প্রদত্ত abaloneএবং 3:

a    we start with 1 copy
bb   then 2 copies
aaa  then 3 copies, which is our second parameter
lll  so we continue using 3 copies
ooo  until we reach the end
nn   where we use 2 copies
e    and then finally 1 copy

এবং ফলাফল হবে abbaaalllooonne

এটা তোলে নিশ্চিত করা হয় স্ট্রিং চেয়ে দৈর্ঘ্য বেশি যে 2Nএবং শুধুমাত্র থেকে অক্ষর আছে aকরার z

আরও টেস্টকেস:

N string       output
2 aaaaa        aaaaaaaa
3 abcdabcdabcd abbcccdddaaabbbcccdddaaabbbccd

এটি । বাইট জিতে সংক্ষিপ্ত উত্তর। স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।

উত্তর:


11

জেলি , 6 বাইট

JṡFṢị⁸

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

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

JṡFṢị⁸  Main link. Arguments: s (string), n (integer)

J       Get the indices of s.
 ṡ      Split the indices into overlapping chunks of length n.
  F     Flatten the array of chunks.
   Ṣ    Sort the resulting array of indices.
    ị⁸   Get the characters of s at these indices.

নমুনা রান

JṡFṢị⁸  "abalone", 3

J       [1, 2, 3, 4, 5, 6, 7].
 ṡ      [[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7]]
  F     [1, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6, 7]
   Ṣ    [1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7]
    ị⁸  "abbaaalllooonne"

3
এই বিভক্ত + সমতল + বাছাই পদ্ধতি খাঁটি প্রতিভা। নিস! :)
হাইপারনিউটারিনো

7

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

f=lambda s,n,i=1:s and s[0]*len(s[:i][:n])+f(s[1:],n,i+1)

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

57:

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

f=lambda s,n,i=1:s and s[0]*len(s[:i])+f(s[1:],n,i+(i<n))

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


আপনি কি পিছনে আপনার যুক্তি ব্যাখ্যা করতে পারেন len(s[:i][:n])? আমি নিশ্চিত যে এই সংখ্যাটি পাওয়ার জন্য আরও একটি ছোট উপায় আছে তবে আমি কীভাবে তা নিশ্চিত নই।
musicman523

কিছু মনে করবেন না, বুঝেছি! কিন্তু এটা একাধিক বাইট খাটো min(len(s),i,n)। দারূন কাজ!
musicman523

6

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

-২ বাইট ধন্যবাদ চ্যাস ব্রাউন এর খাটো পদ্ধতি ব্যবহার করে min()

s=>n=>s.replace(/./g,(c,i)=>c.repeat(Math.min(i+1,s.length-i,n)))

সংবাহন সিনট্যাক্স ইনপুট লাগে: f("abalone")(3)

পরীক্ষার স্নিপেট

f=
s=>n=>s.replace(/./g,(c,i)=>c.repeat(Math.min(i+1,s.length-i,n)))
<div oninput="O.value=f(S.value)(+N.value)">String: <input id=S> N: <input id=N size=3></div>Out: <input id=O size=50 disabled>


6

জেলি , 8 7 বাইট

J««U$⁸x

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

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

J««U$⁸x - main link, input e.g. abalone
J        - range of length of letters: [1,2,3,4,5,6,7]
 «       - minimum of each term with second input: [1,2,3,3,3,3,3]
  «U$    - termwise minimum with the reverse: 
                    min([1,2,3,3,3,3,3],[3,3,3,3,3,2,1])=[1,2,3,3,3,2,1]
     ⁸x  - repeat each character of the input a number of times corresponding to elements:
                    a*1;b*2;a*3...e*1 = abbaaalllooonne

-1 বাইট @ লিক্যুনকে ধন্যবাদ


ভাল! আমি যে দিকে সবচেয়ে কাছাকাছি পেয়েছিলাম J«¥@«U$x@9 বাইট জন্য।
ফায়ার ফ্লেম 241

ব্যাখ্যা দয়া করে?
কমরেড স্পার্কলপনি

@ ফায়ার ফ্লেম 241 সাধারণভাবে, x@⁸সমান ⁸x(আমি এখানে ব্যবহৃত )
লিকি নুন

2

হাস্কেল , 61 60 বাইট

1 লাইট বন্ধ শেভ করতে সহায়তার জন্য @ লাইকোনিকে ধন্যবাদ

n#s=do(i,c)<-zip[1..]s;replicate(minimum[n,i,length s-i+1])c

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

Ungolfed:

(#) n string = do
    (i, char) <- zip [1..] string
    replicate (minimum [n, i, length(string)-i+1]) char

একটি doব্লকের দুর্দান্ত ব্যবহার ! মধ্যে প্রথম বন্ধনী ছেড়ে একটি বাইট সংরক্ষণ করুন length(s)
লাইকনি

1

হাস্কেল (ল্যাম্বডাবোট), 74 বাইট

r=replicate
f x n=join$zipWith r([1..n]++r(length x-2*n)n++reverse[1..n])x

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


আমদানি স্কোর গণনা! আপনার সাথে আরও ভাল হবে>>=id
বার্তাভেল

হ্যাঁ, আমি যে করেনি খুব সামনে এবং তারপর আমি দেখেছি এই (যে কেন আছে বন্ধনী Lambdabot)। সঠিক উপায় কি?
5

আমি সংশোধন হয়ে দাঁড়িয়েছি, আমি মনে করি এটি ঠিক আছে!
বার্তাভেল

জেনে রাখা ভাল, সেই তালিকায় প্রচুর খুব সহজ আমদানি রয়েছে।
ბიმო

1

জে, 24 বাইট

(<.&n<./(|.,:[)>:i.#s)#s

পেরেনগুলির বিট - (<.&n<./(|.,:[)>:i.#s)- 1 2 ... n n n ... 2 1অ্যারে তৈরি করে , নিম্নরূপ:

                   #s    length of s, call it L
                 i.      numbers 0 1 ... L-1
               >:        increment by 1, now 1 2 ... L
        (|.,:[)          fork: |. = reverse, ,: = stack, [ = identity
                         resulting in  L ... 2 1
                                       1 2 ... L 
     <./                 min of each element of the top and bottom row
 <.&n                    min of each resulting elm and n

একবার আমাদের এটি হয়ে গেলে, জে #অপারেটর স্বয়ংক্রিয়ভাবে যা যা চেয়েছিল ঠিক তা করে, প্রতিটি উপাদানকে নির্দিষ্ট সময়ের নকল করে।

এটি সম্পর্কে একজন জে বিশেষজ্ঞের উন্নতি দেখতে কৌতূহলী ...


একেবারে ভিন্ন পদ্ধতির সাথে 23 বাইট [#~#@[$([:>:<:,&:i.-)@](সম্ভবত সেখানে কোনও বিপথগামী জায়গা ধরা পড়ে)। হুক কেন নিচ্ছে না তবে xযত্নের খুব বেশি অবস্থানে নেই কেন আমি তার ক্ষতি করছি ।
কোলে

1

পিএইচপি> = 7.1, 75 বাইট

for([,$a,$n]=$argv;--$z?:($x=$a[$i]).$z=min($n,strlen($a)-$i,++$i);)echo$x;

পিএইচপি স্যান্ডবক্স অনলাইন

পিএইচপি> = 7.1, 78 বাইট

for([,$a,$n]=$argv;~$x=$a[$i];)for($z=min($n,strlen($a)-$i,++$i);$z--;)echo$x;

পিএইচপি স্যান্ডবক্স অনলাইন

পিএইচপি> = 7.1, 80 বাইট

for([,$a,$n]=$argv;$i<$l=strlen($a);)echo str_repeat($a[$i],min($n,$l-$i,++$i));

পিএইচপি স্যান্ডবক্স অনলাইন


1

জাপট , 11 10 বাইট

ËpVm°TEnUÊ

এটা পরীক্ষা করো


ব্যাখ্যা

স্ট্রিং Uএবং পূর্ণসংখ্যার অন্তর্নিহিত ইনপুট V

Ë

Uপ্রতিটি চরিত্রকে ম্যাপ করুন এবং প্রতিস্থাপন করুন।

Vm

সর্বনিম্ন পান V, ...

°T

T(প্রাথমিকভাবে 0) 1 দ্বারা বর্ধিত ...

EnUÊ

এবং বর্তমান অক্ষরের সূচক E( n) এর দৈর্ঘ্য ( Ê) থেকে বিয়োগ করে U

p

বর্তমান চরিত্রটি বহুবার পুনরাবৃত্তি করুন।

সুস্পষ্টভাবে চূড়ান্ত স্ট্রিং আউটপুট।



0

পাইথন 2 68 বাইট

f=lambda s,n:''.join(s[i]*min(i+1,len(s)-i,n)for i in range(len(s)))

f=উত্তরের আপনার দরকার নেই ; ফাংশন বেনামে হতে পারে। এটি মনে রেখে আপনি 3 টি বাইট দিয়ে মুছে ফেলতে পারেন lambda s,n:''.join(c*min(i+1,len(s)-i,n)for i,c in enumerate(s))
notjagan

0

কুণ্ডলী , 10 9 বাইট

₁₁ṀR
↔z↑N

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

প্রথম লাইনটি মূল ফাংশন, এটি প্রতিটি বর্ণকে n বার পুনরাবৃত্তি করে এবং দ্বিতীয় লাইনে দু'বার কল করে।

দ্বিতীয় লাইনটি পুনরাবৃত্ত অক্ষরের প্রতিটি গ্রুপের সর্বাধিক এন অক্ষর নেয়, যেখানে এন গ্রুপের 1-ভিত্তিক সূচক হয়, তবে তালিকাটি উল্টে দেয়।



0

এপিএল (ডায়ালগ) , 15 বাইট

{⍵/⍨⍺⌊i⌊⌽i←⍳≢⍵}

{} ফাংশন যেখানে বাম আর্গুমেন্ট (ক্যাপ) এবং ডান আর্গুমেন্ট (স্ট্রিং) :

≢⍵ স্ট্রিংয়ের অক্ষরের সংখ্যা গণনা করুন

 অনেকগুলি তৈরি করুন te

i← স্টোর i

 বিপরীত

i⌊ জোড় ন্যূনতম সাথে আমি

⍺⌊ ক্যাপের সাথে জোড়াযুক্ত ন্যূনতম

⍵/⍨ স্ট্রিংয়ের অক্ষরগুলি প্রতিলিপি করতে এই সংখ্যাগুলি ব্যবহার করুন

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




0

আবালোন হ'ল এক ধরণের মাছ (ভাল, একটি শেলফিস), তাই…

> <> , By৯ বাইট

&i1\
0(?\:1+:&::&@)?$~i:@
&~}\&~1
0(?\:&::1+&@)?$~}}:
 ~r\
?!v>l?!;:o$1-:@
~~<^

এটি অনলাইনে ব্যবহার করে দেখুন , বা এটি মাছের খেলার মাঠে দেখুন !

এসটিডিআইএন থেকে স্ট্রিংটি পড়ে এবং ধরে নেয় যে নম্বরটি ইতিমধ্যে স্ট্যাকটিতে রয়েছে।

ব্যাখ্যা: দ্বিতীয়, চতুর্থ এবং ষষ্ঠ লাইনগুলি প্রধান লুপগুলি। বিবরণগুলি কিছু কুরুচিপূর্ণ স্ট্যাক ম্যানিপুলেশন, তবে ব্রড স্ট্রোকের মধ্যে প্রথমে দ্বিতীয় লাইনটি স্ট্যাকটি পূরণ করে ইনপুট এবং মিনিটের ( in ) একটি অক্ষরের মধ্যে পরিবর্তিত হয় , যেখানে n দৈর্ঘ্য ক্যাপ হয় এবং আমি অক্ষরের সূচক ইনপুট: "আবালোন", 3 এর জন্য, স্ট্যাকটি দেখতে দুর্দান্ত

"a", 1, "b", 2, "a", 3, "l", 3, "o", 3, "n", 3, "e", 3, -1=EOF, 3

এরপরে, ডান হাতের প্রান্তটি সঠিকভাবে ক্যাপড পেতে, লাইন 4 একইভাবে বিপরীতে স্ট্যাকের মধ্য দিয়ে যায়:

"a", 1, "b", 2, "a", 3, "l", 3, "o", 3, "n", 2, "e", 1, -1

তারপরে ষষ্ঠ লাইন প্রতিটি অক্ষর – সংখ্যার জোড় নেয় এবং সংখ্যার চেয়ে বহুগুণ অক্ষর মুদ্রণ করে।

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