কথাটি প্রসারিত করুন


50

ইনপুট হ'ল স্পেস দ্বারা পৃথক নয় ছোট হাতের অক্ষরের একটি শব্দ। শেষে একটি নিউলাইন optionচ্ছিক।

একই শব্দটি অবশ্যই পরিবর্তিত সংস্করণে আউটপুট হতে হবে: প্রতিটি চরিত্রের জন্য, এটি দ্বিতীয় বার আসল শব্দটিতে প্রদর্শিত হবে, এটি তৃতীয় বার ট্রিপল করুন ইত্যাদি etc.

উদাহরণ ইনপুট:

bonobo

উদাহরণ আউটপুট:

bonoobbooo

স্ট্যান্ডার্ড আই / ও বিধি প্রযোজ্য। বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।

@ নীল দ্বারা সরবরাহিত পরীক্ষাগুলি:

tutu -> tuttuu
queue -> queuuee
bookkeeper -> boookkkeeepeeer
repetitive -> repeetittiiveee
uncopyrightables -> uncopyrightables
abracadabra -> abraacaaadaaaabbrraaaaa
mississippi -> misssiisssssssiiipppiiii

উত্তর:


36

জেলি , 4 বাইট

;\f"

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

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

;\f"  Main link. Argument: S (string)

;\    Cumulatively reduce by concatenation.
      This yields the array of all prefixes of S.
  f"  Vectorized filter.
      Keep only occurrences of the nth letter in the nth prefix.

21
ঠিক আছে তাহলে ... পাইপ পাইপ।
আদনান

2
এই সাইটটি সেরা সাধারণ উদ্দেশ্যে গল্ফিং ভাষার প্রতিযোগিতায় পরিণত হচ্ছে ... এটি কোনও খারাপ জিনিস নয়।
শেলভাকু

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

@Insane আছে / আছে। কোড গল্ফ একটি খুব সাধারণ জিনিস। সুতরাং ভাষাগুলি একচেটিয়াভাবে সেই উদ্দেশ্যে নির্মিত হয়।
ইভান কার্সলেকে

কিভাবে কাজ করে?
এরিক আউটগল্ফার

21

পাইথ, 6 বাইট

@ ডোরকনবকে 1 বাইট ছাড়ার জন্য ধন্যবাদ

মাল্টেসেনকে 5 টি বাইট নেওয়ার জন্য ধন্যবাদ

s@VQ._

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

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


উদাহরণস্বরূপ, স্ট্রিং নিন "bonobo"

._ একটি তালিকা তৈরি করে: ['b', 'bo', 'bon', 'bono', 'bonob', 'bonobo']

VQ._এর অর্থ "পূর্ববর্তী ফাংশনটি ভেক্টরাইজড (সমান্তরালে প্রয়োগ করা হয়েছে) Q._", যার অর্থ Q(ইনপুট মূল্যায়ন করা হয়েছে) একটি তালিকা হিসাবে বিবেচিত হবে: ['b', 'o', 'n', 'o', 'b', 'o']এবং তারপরে এগুলি এর দ্বারা যুক্ত করা হবে @:

     Q      ._         @ (intersect)
0:  'b'     'b'       'b'
1:  'o'     'bo'      'o'
2:  'n'     'bon'     'n'
3:  'o'     'bono'    'oo'
4:  'b'     'bonob'   'bb'
5:  'o'     'bonobo'  'ooo'

সুতরাং, @VQ._উত্পাদন করবে ['b', 'o', 'n', 'oo', 'bb', 'ooo']

sতারপর তাদের সব যোগদান করে একসঙ্গে একটি স্ট্রিং তৈরি 'bonoobbooo', যা পরোক্ষভাবে বাইরে ছাপা হয় পরিণত bonoobbooo


2
কেনি, আপনার ব্যাখ্যাটি ভুল। VQকেবল for N in Qতখনই যখন এটি কোনও ফাংশনের অভ্যন্তরে থাকে না এই ক্ষেত্রে, আসলে হচ্ছেটা যে @Vমানে @তার পরবর্তী দুই আর্গুমেন্ট উপর ফাংশন ভেক্টরকৃত (সমান্তরাল প্রয়োগ), Qএবং ._। এটি ডক্স থেকে অনুপস্থিত, তাই আমি এটি ঠিক করব।
isaacg

14

রেটিনা , 34 19 বাইট

আইস্যাকের সমাধান থেকে কিছু অনুপ্রেরণা গ্রহণ করে 15 বাইট সংরক্ষণ করা হয়েছে।

বাইট গণনাটি আইএসও 8859-1 এনকোডিং ধরেছে।


$`¶
(\D)(?!.*\1¶)

শীর্ষস্থানীয় এবং চলমান খালি লাইনগুলি উল্লেখযোগ্য।

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

ব্যাখ্যা


$`¶

এটি একটি প্রতিস্থাপনের মঞ্চ যা খালি রেজেক্সের সাথে মেলে (অর্থাত্ স্ট্রিংয়ের প্রতিটি শূন্য-প্রস্থের অবস্থান) এবং এর $`¶জন্য বিকল্প , যেখানে $`ম্যাচের উপসর্গ রয়েছে এবং একটি লাইনফিড সন্নিবেশ করায়। এটি মূলত সমস্ত উপসর্গগুলি গণনা করে এবং সেই উপসর্গের শেষ চরিত্রের সাথে পৃথক লাইনে রাখে:

bb
obo
oboo
kbook
kbookk
ebookke
ebookkee
pbookkeep
ebookkeepe
rbookkeeper

কিছু নেতৃস্থানীয় এবং পেছনের লাইনফিড থাকবে, তবে আমরা সেগুলি উপেক্ষা করতে পারি।

এই প্রতিটি উপসর্গ থেকে আমরা শেষ অক্ষরের সমান অক্ষর রাখতে চাই। তার জন্য আমরা অন্য প্রতিস্থাপনের মঞ্চটি ব্যবহার করি:

(\D)(?!.*\1¶)

এটি আমরা রাখতে চাই না এমন সমস্ত কিছুর সাথে মেলে এবং এটি কোনও কিছুই দিয়ে প্রতিস্থাপন করে। আমরা কোনো চরিত্র মেলে (ব্যবহার \Dযেহেতু আমরা জানি সেখানে ইনপুটে সংখ্যার হতে হবে না) এবং তারপর ব্যাপারে নিশ্চিত হওয়ার যে নয় লাইনের শেষে যে চরিত্রের আরেকটি কপি।


11

পাইথন, 56 বাইট

আমি একই দৈর্ঘ্যের দুটি উত্তর আটকে আছে বলে মনে হচ্ছে:

f=lambda x,*y:x and-~y.count(x[0])*x[0]+f(x[1:],x[0],*y)
f=lambda x,y=0:x[y:]and-~x[:y].count(x[y])*x[y]+f(x,y+1)

সম্পাদনা করুন: সংক্ষিপ্ত, বিকল্প পাইথন পদ্ধতির জন্য @ পাচোলিকের উত্তর দেখুন ।


আমি আপনাকে আমার> <> উত্তর দিয়ে মারতে অভ্যস্ত নই, আমি এটি ঠিক করার জন্য গোল> <> উত্তরের অপেক্ষা করছি;)
হারুন

@ অ্যারন খুব খারাপ, আমি আপনাকে
>>>

পাইথনে লাইনের আওয়াজ? কি ধর্মে !
বিড়াল 13

কি করে - আমি কি করব? আমি জানি এটি কিছুটা উপেক্ষার পরে নয়, তবে আপনি কী করার চেষ্টা করছেন যে এটি কিছুটা বাইট সাশ্রয় করে?
নিক হার্টলি

2
@ কিপ্যায়েস টেক্সস এটি +1যথেষ্ট পরিমাণে অগ্রাধিকারের সাথে বৃদ্ধি করেছে যাতে
পেরেনগুলি

10

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

f""=""
f x=f(init x)++filter(==last x)x

ব্যবহারের উদাহরণ: f "bonobo"-> "bonoobbooo"

@ ড্যামিয়ানের উত্তর থেকে যথেষ্ট আলাদা । স্ট্রিং থেকে সর্বশেষ অক্ষরের সমস্ত উপস্থিতিগুলি বের করে এবং শেষ চরিত্রটি ছাড়া সমস্তটির সাথে একটি পুনরাবৃত্ত কলকে প্রেন্ডেন্ট করে ডান দিক থেকে স্ট্রিং তৈরি করে।


9

> <> , 27 বাইট

>i:0g1+:\
:{-1v!?:<}o
/p${/

অফিসিয়াল দোভাষীর প্রয়োজন যা কোড পয়েন্ট -1 মুদ্রণের চেষ্টা করার সময় একটি ত্রুটির সাথে প্রস্থান করে। এটি অনলাইন চেষ্টা করুন!

কোডটি একবারে ইনপুট করে একটি চর পড়ে এবং কোডবাক্সের প্রথম সারিকে একটি বড় অ্যারে হিসাবে ব্যবহার করে যা প্রতিটি চরকে এখনও পর্যন্ত দেখা যায় এমন পরিমাণ সঞ্চয় করে (> <> নন-প্রোগ্রাম সেলগুলি আরম্ভ করে 0)। দ্বিতীয় সারিতে চারটি একাধিকবার আউটপুট দেওয়ার জন্য একটি লুপ।

বিকল্পভাবে, এখানে এমন একটি সংস্করণ রয়েছে যা পরিষ্কারভাবে বের হয় (37 বাইট, সঠিকভাবে গল্ফ হয় না):

>i:0(?;:0g1+:\
}o:{-1v!?:   <
v  p${<

ধিক্কার! অনলাইন দোভাষীর উপর আমার এত বেশি নির্ভর করা বন্ধ করা উচিত, আমি এত বিশাল কোডবক্সটি ব্যবহার করার বিষয়ে কখনও ভাবিনি, এবং আমি এমনকি -১ প্রিন্টে প্রকাশিত সরকারী দোভাষীটিও জানতাম না
হারুন

2
অ্যারন হ্যাঁ, এটি করার চেষ্টা করার সময় পাইথন ত্রুটিযুক্ত হয়ে যাওয়ার এটি একটি বাস্তব রূপ chr(-1)। অ্যানিমেটেড দোভাষী দর্শনার্থীর পক্ষে দুর্দান্ত, তবে দুর্ভাগ্যক্রমে সরকারী দোভাষীর সাথে কিছু
তাত্পর্য

9

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

s=>s.replace(n=/./g,c=>c.repeat(n[c]=-~n[c]))

সম্পাদনা: @ ব্যবহারকারী 81655 ধন্যবাদ 3 বাইট সংরক্ষণ করা।


8

হাস্কেল, 50 42 41 বাইট

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

f t=[c|(i,c)<-zip[1..]t,x<-take i t,c==x]

1
কীভাবে:f t=[c|(i,c)<-zip[0..]t,j<-[0..i],c==t!!j]
লিন

8

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

tt!=RsY"

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

ব্যাখ্যা

t    % take input string implictly. Duplicate
t!   % duplicate and transpose into a column
=    % test for equality with broadcast. Gives an NxN array, where N is
     % input string length
R    % upper triangular part: set entries below the diagonal to 0
s    % sum of each column. For each postion in the input, gives how many
     % times that letter has appeared up to that position
Y"   % replicate elements (run-length decoding). Display implicitly

8

ল্যাবরেথ , 54 25 বাইট

<#; "#: ={},>
 }=}(.);("@

@ মার্টিনব্যাটনার এর সাথে আর একটি সহযোগী, যিনি আসলে এই জন্য বেশিরভাগ গল্ফিং করেছিলেন। অ্যালগরিদমটি পুনর্নির্মাণের মাধ্যমে আমরা কিছুটা হলেও প্রোগ্রামের আকার হ্রাস করতে পেরেছি!

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

ব্যাখ্যা

একটি দ্রুত ল্যাব্রিন্থ প্রাইমার:

  • ল্যাবরেথ একটি স্ট্যাক-ভিত্তিক 2D ভাষা। দুটি স্ট্যাক রয়েছে, একটি প্রধান এবং সহায়ক স্ট্যাক এবং খালি স্ট্যাক থেকে পপিং শূন্যের ফলন দেয়।

  • প্রতিটি সংযোগে, যেখানে নির্দেশ পয়েন্টারটি নীচে সরানোর জন্য একাধিক পাথ রয়েছে, মূল স্ট্যাকের শীর্ষে কোথায় যেতে হবে তা পরীক্ষা করা হয়। Gণাত্মক বাম দিকে ঘুরছে, শূন্যটি সরাসরি এগিয়ে এবং ধনাত্মক ডানদিকে বাঁকানো।

স্বেচ্ছাসেবী-নির্ভুলতা পূর্ণসংখ্যার দুটি স্ট্যাক মেমরি বিকল্পগুলির ক্ষেত্রে খুব নমনীয়তা নয়। গণনা সম্পাদন করার জন্য, এই প্রোগ্রামটি দুটি স্ট্যাককে টেপ হিসাবে ব্যবহার করে, একটি স্ট্যাক থেকে অন্যটিতে একটি মান স্থানান্তর করে, কোনও কক্ষের দ্বারা বাম / ডানদিকে একটি মেমরি পয়েন্টার সরানোর অনুরূপ। যদিও এটি ঠিক তেমন এক নয়, যেহেতু আমাদের পথে পথে একটি লুপ কাউন্টার টেনে আনতে হবে।

এখানে চিত্র বর্ণনা লিখুন

প্রথমত, <এবং >পারেন প্রান্তে একটি অফসেট পপ এবং কোড সারি যে দূরে এক বাম বা ডান পুষিয়ে আবর্তিত। কোডটি একটি লুপে চালাতে এই ব্যবস্থাপত্রটি ব্যবহৃত হয় - <কোডটি ডানদিকে আইপি রেখে, একটি শূন্যকে পপ করে এবং বর্তমান সারিটি বামদিকে ঘোরায়, এবং >অন্য শূন্যকে পপ করে এবং সারিটি ফিরিয়ে দেয়।

উপরের চিত্রের সাথে প্রতিটি পুনরাবৃত্তির ক্ষেত্রে যা ঘটে তা এখানে:

[Section 1]
,}    Read char of input and shift to aux - the char will be used as a counter
      to determine how many elements to shift

[Section 2 - shift loop]
{     Shift counter from aux
"     No-op at a junction: turn left to [Section 3] if char was EOF (-1), otherwise
      turn right
(     Decrement counter; go forward to [Section 4] if zero, otherwise turn right
=     Swap tops of main and aux - we've pulled a value from aux and moved the
      decremented counter to aux, ready for the next loop iteration

[Section 3]
@     Terminate

[Section 4]
;     Pop the zeroed counter
)     Increment the top of the main stack, updating the count of the number of times
      we've seen the read char
:     Copy the count, to determine how many chars to output

[Section 5 - output loop]
#.    Output (number of elements on stack) as a char
(     Decrement the count of how many chars to output; go forward to [Section 6]
      if zero, otherwise turn right
"     No-op

[Section 6]
}     Shift the zeroed counter to aux

[Section 7a]
This section is meant to shift one element at a time from main to aux until the main
stack is empty, but the first iteration actually traverses the loop the wrong way!

Suppose the stack state is [... a b c | 0 d e ...].

=     Swap tops of main and aux               [... a b 0 | c d e ...]
}     Move top of main to aux                 [... a b | 0 c d e ...]
#;    Push stack depth and pop it (no-op)
=     Swap tops of main and aux               [... a 0 | b c d e ...]
      Top is 0 at a junction - can't move
      forwards so we bounce back
;     Pop the top 0                           [... a | b c d e ... ]

The net result is that we've shifted two chars from main to aux and popped the
extraneous zero. From here the loop is traversed anticlockwise as intended.

[Section 7b - unshift loop]

#     Push stack depth; if zero, move forward to the <, else turn left
}=    Move to aux and swap main and aux, thus moving the char below (stack depth)
      to aux
;     Pop the stack depth


7

পাইথ, 7 বাইট

s@Led._

পরীক্ষা স্যুট

টেঙ্ক স্যুট ধন্যবাদ ডেনকারএফিকে

ব্যাখ্যা:

s@Led._
     ._    All prefixes, implicitly applied to the input.
 @L        Filter each prefix for characters equal to
   ed      the last character of the prefix
s          Concatenate and implicitly print.

6

পাইথন 3, 52

def f(s):*s,x=s;return s and f(s)+x+x*s.count(x)or x

4
আহ, শেষ থেকে যাওয়া আরও অনেক বেশি অর্থবোধ করে! আপনি বিশেষত পাইথন 3 এর প্রয়োজন ছাড়াই ল্যাম্বডায় এই সংক্ষিপ্তটি করতে পারেন:f=lambda s:s and f(s[:-1])+s[-1]*s.count(s[-1])
Sp3000

আমি যদিও এটি যেভাবে করা যেতে পারে। তবে পাইথনে সাবস্ক্রিপশন পছন্দ করি না: পি
পাচোলিক

5

পাওয়ারশেল ভি 2 +, 52 47 বাইট

$b=@{};-join([char[]]$args[0]|%{"$_"*++$b[$_]})

একটি খালি হ্যাশ টেবিল তৈরি করে, এটি স্টোর করে $b। আমরা কী চিঠিগুলি দেখেছি এটি এটিই আমাদের "কাউন্টার"। এরপরে আমরা ইনপুট নিই $args[0], এটিকে চার-অ্যারে হিসাবে কাস্ট করি এবং একটি লুপের মাধ্যমে প্রেরণ করি। প্রতিটি পুনরাবৃত্তি, আমরা বর্তমান চরিত্রটি গ্রহণ করি "$_"এবং প্রদত্ত মানটিতে প্রাক-বর্ধিত কাউন্টার দ্বারা এটির গুণ করি, যা প্রথম সংখ্যাকে 1দ্বিতীয় দ্বারা 2এবং দ্বিতীয় দ্বারা গুণিত করে তোলে । আমরা এটি encapsulate -joinসুতরাং এটি সমস্ত শব্দ এক আউটপুট হচ্ছে।

একটি অ্যারের পরিবর্তে হ্যাশটেবল ব্যবহার করে টেসেল্ল্যাটিংহেকলারের ধন্যবাদ 5 বাইট সংরক্ষণ করা হয়েছে , সুতরাং 97যথাযথ সূচকগুলিতে পৌঁছানোর জন্য আমাদের ASCII অক্ষর হ্রাস করার দরকার পড়েনি । এটি কাজ করে কারণ হ্যাশ .Add()সূচিগুলি পরিবর্তনযোগ্য হিসাবে হ্যাশ সূচী উপস্থিত না থাকায় প্রচ্ছন্নভাবে হ্যাশ সূচকটি প্রেক্ষাপটে কল করে।

PS C:\Tools\Scripts\golfing> .\stretch-the-word.ps1 tessellatingheckler
tessseelllattingheeeckllleeeer

@ টেসেল্লাটিংহেকলার সত্যই - ধন্যবাদ!
অ্যাডমবর্কবার্ক

5

ডায়ালগ এপিএল , 6 বাইট

∊,\∩¨⊢

TryAPL!

4 টি ফাংশন একটি কাঁটাচামচ (3-ট্রেন) এর উপরে (2-ট্রেন):

┌──┴──┐  
∊ ┌───┼─┐
  \   ¨ ⊢
┌─┘ ┌─┘  
,   ∩    

প্রদত্ত স্ট্রিংয়ে প্রথমে (ডান - কোনও অপশন) দেওয়া'bonobo'

তারপরে ,\(কনেকেটেশন স্ক্যান) স্ট্রিংয়ে দিচ্ছেন'b' 'bo' 'bon' 'bono' 'bonob' 'bonobo'

দুজনকে একসাথে কাঁটাযুক্ত করা হয়েছে (এতে ডান এবং বাম যুক্তি হিসাবে দেওয়া হয়েছে) ∩¨(প্রতিটি ছেদটি) ('b'∩'b') ('bo'∩'o') ('bon'∩'n') ('bono'∩'o') ('bonob'∩'b') ('bonobo'∩'o'), যা হয়'b' 'o' 'n' 'oo' 'bb' 'ooo'

অবশেষে (এনলিস্ট) ফলকে চ্যাপ্টা করার জন্য প্রয়োগ করা হয়, দিলে'bonoobbooo'

আরে, কমপক্ষে এটি পাইথের সাথে মিলছে ! স্পষ্টতই জেলি সংক্ষিপ্ত হিসাবে এটি জে এর একটি গল্ফ সংস্করণ, যার ফলস্বরূপ এপিএল-র প্রতি-ক্রিয়াকলাপের একটি উন্নত ডায়ালেক্ট।


4

পাইথ, 11 বাইট

s.e*b/<Qhkb

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

ব্যাখ্যা

se * b / <Qhkb # Q = ইনপুট

 .e # ইনপুট ধরে মান হিসাবে কে এবং সূচক হিসাবে কে (ইনপ্রেসিভভাবে প্রান্তে যুক্ত হবে)
      <কিউএইচ # কিউ এর প্রথম কে + 1 অক্ষর নিন
     / খ # সেখানে খ এর গণনা
   * খ # বহুবার পুনরাবৃত্তি করুন
s # ফলাফলকে একটি স্ট্রিংয়ের সাথে যুক্ত করুন

4

জে, 11 বাইট

#~+/@(={:)\

এটি একটি monadic ক্রিয়া। এখানে চেষ্টা করুন। ব্যবহার:

   f =: #~+/@(={:)\
   f 'tutu'
'tuttuu'

ব্যাখ্যা

#~+/@(={:)\
     (   )\  For each non-empty prefix:
       {:      Take last element,
      =        compare for equality to the others and itself
  +/@          and take sum (number of matches).
#~           Replicate original elements wrt the resulting array.

4

05 এ বি 1 ই , 10 বাইট

কোড:

$vy«Dy¢y×?

ব্যাখ্যা:

$           # Push the number 1 and input
 v          # Map over the input string
  y«        # Concat the letter to the previous string (initial 1)
    D       # Duplicate this string
     y¢     # Count the occurences of the current character in the string
       y×   # Multiply this number with the current character
         ?  # Pop and print without a newline

সিপি -1222 এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


3

সিজেম, ১৪

q:A,{)A<_)--}/

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

ব্যাখ্যা:

q:A      read the input and store in A
,        get the string length
{…}/     for each number from 0 to length-1
  )      increment the number
  A<     get the prefix of A with that length
  _      duplicate it
  )      separate the last character
  -      remove it from the rest of the prefix
  -      remove all the remaining characters (different from the last one)
          from the prefix


2

> <> , 52 বাইট

i:0(?;&l:?!v1-$:&:&=?\}70.>
6f+0.00o:&~/         \:o

এটি পড়া প্রতিটি চিঠি স্ট্যাক করে, স্ট্যাকের প্রতিটি অনুরূপ চিঠির জন্য একবার এবং একবার মুদ্রণ করে।
এটি &রেজিস্টারটি ব্যবহার করে , কারণ স্ট্যাকের 3 টি ভেরিয়েবলগুলি পরিচালনা করতে হবে (বর্তমান পঠনপত্র, স্ট্যাকের অবস্থান, এই অবস্থানে চিঠি) একটি ব্যথা।

আপনি এটি এখানে চেষ্টা করতে পারেন !


2

মরিচা, 176 বাইট

fn s(w:&str)->String{let mut m=std::collections::HashMap::new();w.chars().map(|c|{let mut s=m.remove(&c).unwrap_or(String::new());s.push(c);m.insert(c,s.clone());s}).collect()}

এটি ইনপুটটিতে প্রতিটি অক্ষরের জন্য একটি স্ট্রিং সঞ্চয় করতে একটি মানচিত্র ব্যবহার করে। প্রতিটি চরিত্রের জন্য, স্ট্রিংটি মানচিত্র থেকে সরানো হবে, অক্ষরের সাথে একত্রিত হয়ে মানচিত্রে ফিরে sertedোকানো হবে এবং আউটপুট যুক্ত হবে।

আমি get(...)পরিবর্তে ব্যবহার করতে পছন্দ করতাম remove(...), তবে theণ চেককারী আমাকে আমার মন পরিবর্তন করেছিলেন had


2

ম্যাথক্যাড, 66 বাইট

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

এখানে চিত্র বর্ণনা লিখুন

নোট করুন যে ম্যাথক্যাডে 2 ডি "হোয়াইটবোর্ড" ইন্টারফেস ব্যবহার করা হয়েছে, এতে সাধারণ পাঠ্য এবং অপারেটরদের মিশ্রণ রয়েছে; অপারেটরগুলি সাধারণত একটি সরঞ্জামদণ্ড বা কীবোর্ড শর্টকাটের মাধ্যমে প্রবেশ করে; উদাহরণস্বরূপ, সিটিএল- # লুপ অপারেটরের জন্য প্রবেশ করে, যার জন্য মূলশব্দ, প্রতীক উপাদান এবং 3 খালি "স্থানধারক" যথাক্রমে পুনরাবৃত্তির পরিবর্তনশীল, পরিসীমা এবং শারীরিক অভিব্যক্তি সমন্বিত রয়েছে। টাইপিং [একটি চলক নাম অ্যারে সূচক মোডে প্রবেশের পরে, টাইপিং 'একটি বন্ধুত্বপূর্ণ জোড় বন্ধনী প্রবেশ করে ( বেশিরভাগ ... পার্শ্ববর্তী এক্সপ্রেশনটিতে অন্য কি আছে তার উপর নির্ভর করে ব্যতিক্রম রয়েছে )


2

জাভাস্ক্রিপ্ট ES6 44 বাইট

q=>q.replace(/./g,a=>x[a]=(x[a]||'')+a,x=[])

পুরানো উত্তর

জাভাস্ক্রিপ্ট ES6 46 বাইট

q=>(x=[...q]).map(a=>x[a]=(x[a]||'')+a).join``

//thanks user81655 for -1 byte

1
আপনি xইনপুট অ্যারে ->q=>(x=[...q]).map(a=>x[a]=(x[a]||'')+a).join``
user81655

2

জুলিয়া, 38 35 বাইট

!s=[]==s?s:[!s[1:end-1];ss[end]]

আই / ও চরিত্রের অ্যারেগুলি থেকে আসে। এটি অনলাইন চেষ্টা করুন!

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

আমরা (পুনরায়) মোনাদিক অপারেটর সংজ্ঞায়িত করি ! আমাদের উদ্দেশ্যে

কখন ! বলা হয়, এটির আর্গুমেন্ট গুলি খালি কিনা তা পরীক্ষা করে । যদি তা হয় তবে এটি তার যুক্তি ফিরিয়ে দেয়।

তাহলে গুলি খালি নয় এমন হয়, আমরা ছেদ গুলি তার শেষ অক্ষর (সঙ্গে s[end]), যা যে চরিত্রের সব ঘটনার উৎপাদ গুলি । এই ফলাফলটিতে পুনরাবৃত্তির কলটির রিটার্ন মান দিয়ে সংক্ষিপ্ত করা হয় ! সঙ্গে গুলি বিয়োগ তার শেষ অক্ষর ( s[1:end-1]) আর্গুমেন্ট হিসাবে।


2

পিএইচপি, 54 51 50 47 বাইট

for(;$C=$argn[$X++];)echo str_repeat($C,++$$C);

এভাবে চালান:

echo abracadabra | php -nR 'for(;$C=$argn[$X++];)echo str_repeat($C,++$$C); echo"\n";'

বদলান

  • ভেরিয়েবল ভেরিয়েবল ব্যবহার করে 3 বাইট সংরক্ষণ করা হয়েছে। সংঘর্ষ রোধ করতে ব্যবহৃত বড় ভেরিয়েবলগুলি বড় হাতের কাছে পরিবর্তিত হয়েছে
  • টাইপ কাস্ট nullকরতে অপসারণ করে একটি বাইট সংরক্ষণ করা হয়েছেint , স্ট্রিং অফসেট হিসাবে স্ট্রিং অফসেট যাহাই হউক না কেন int কাস্ট করা হয়
  • (Thx তিতাস) এর $argnপরিবর্তে 3 বাইট সংরক্ষণ করেছেন$argv

ব্যবহার করুন $argnসঙ্গে -Rআরও তিনজন বাইট সংরক্ষণ করুন।
টাইটাস

ওহ, এবং -nআপনার যেমনটি করা উচিত -d error_reporting: nএর জন্য দাঁড়িয়েছে no config fileএবং ডিফল্ট কনফিগারেশনে বিজ্ঞপ্তিগুলি বন্ধ রয়েছে; সুতরাং -nr(যথাক্রমে -nR) যথেষ্ট হওয়া উচিত।
টাইটাস

@ টিটাস 2 বছরের পুরানো উত্তর, তবে যাইহোক যাইহোক :)
শে

1

গণিত, 57 বাইট

StringReplace[Clear@c;c@_=0;#,x_:>x~StringRepeat~++c[x]]&

আমরা c[x]প্রায়শই অক্ষরটি xইতিমধ্যে ঘটেছে তার একটি সারণী হিসাবে টেবিল হিসাবে ব্যবহার করি । প্রতিবার এটি পুনরুদ্ধার করার সময় এটি বাড়ানো হয় x~StringRepeat~++c[x]। দুর্ভাগ্যক্রমে, ফাংশনটি পুনরায় ব্যবহারযোগ্য করে তুলতে, আমাদের প্রতিটি বারের সাথে লুকিং টেবিলটি পুনরায় সেট করতে হবে Clear@c;c@_=0;যা বেশ ব্যয়বহুল।


1

awk, 72 বাইট

BEGIN{FS=""}{for(i=1;i<=NF;i++){a[$i]++;for(j=0;j<a[$i];j++)printf $i}}

ধারণাটি হ'ল একটি উপস্থিতিযুক্ত চরিত্রের গণনাটি একটি সহযোগী অ্যারেতে সংরক্ষণ করা এবং এই গণনা বারটি চরিত্রটি মুদ্রণ করা।


1

বিম, 32 33 42 বাইট

এটি আরও ছোট হওয়া উচিত ছিল, তবে আমি মেমোরি স্লটগুলিকে ০ থেকে শুরু করে কিছু বাইট হারিয়েছি some

 >+\
vus/
>rnH
  >g'\
(@v's/
^`<

এই স্নিপেটে চেষ্টা করুন

সাধারণ ব্যাখ্যা।

  • 0-255 থেকে 0 পর্যন্ত সমস্ত মেমরি স্লট সেট করুন
  • বিমে ইনপুট অ্যাস্কিও মান পড়ুন
  • মরীচি যদি 0 টি বন্ধ থাকে (মরীচি = স্টোর)
  • স্টোরে মেমরি [মরীচি] মান পান, এটি বাড়িয়ে দিন এবং সংরক্ষণ করুন
  • স্টোরকে বিম চরিত্রটি মুদ্রণ করে 0 এ নামিয়ে দিন
  • পুনরাবৃত্তি

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