সরল স্ট্রিং প্রতিবিম্ব


26

স্ট্রিংয়ে একটি চরিত্রের প্রতিবিম্ব সংজ্ঞা দিয়ে শুরু করা যাক :

কোনও ফাঁকা জায়গা ছাড়াই স্বতন্ত্র ছোট বর্ণমালার অক্ষরের সাথে abcdefgএকটি স্ট্রিং দেওয়া cযেমন স্ট্রিংয়ের একটি অক্ষরের প্রতিবিম্বকে এটি স্থানান্তর হিসাবে (অন্য কোনও বর্ণের ক্রম পরিবর্তন না করে) স্ট্রিংয়ের একটি নতুন জায়গায় নিয়ে যায় যেমন অক্ষরের সংখ্যাটি মূলত এর ডানদিকে এখন এটির বামে বর্ণের সংখ্যা।

সুতরাং, চিঠির cমধ্যে একটি প্রতিবিম্ব abcdefgহবে abdecfgব্যাখ্যা: ডানদিকে 4 টি অক্ষর ছিল cএবং এখন, বাম দিকে 4 টি অক্ষর রয়েছে c

আরও কয়েকটি উদাহরণ:

চরিত্র প্রতিফলিত eমধ্যে myfriendস্ট্রিং গঠন করবেmyefrind

চরিত্র প্রতিফলিত aমধ্যে axyzস্ট্রিং গঠন করবে xyza

চরিত্র প্রতিফলিত bমধ্যে abcস্ট্রিং গঠন করবে abc

চরিত্র প্রতিফলিত dমধ্যে dস্ট্রিং গঠন করবে d

চরিত্র প্রতিফলিত eমধ্যে efস্ট্রিং গঠন করবে fe

আরও তথ্যের জন্য বা কিছু পরীক্ষার বিষয় চেষ্টা করে দেখতে, এখানে একটি (কিছুটা দীর্ঘ) প্রোগ্রাম আমি C ++ লিখেছেন।

চ্যালেঞ্জ

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

স্পষ্টতা: স্ট্রিংয়ের a-zঅক্ষরগুলি হ'ল, কোনও স্থান নেই, অক্ষরগুলি অনন্য and

উদাহরণ

ইনপুট: dcba। আউটপুট: dcba

কারণ: প্রথমে aবর্ণমালায় প্রথম দিকের স্ট্রিংয়ের চরিত্রটি যেমন প্রতিফলিত হয় তেমনটি প্রতিফলিত করুন । আপনি পাবেন adcb। তারপর, প্রতিফলিত bযেমন বর্ণমালা পরবর্তী পেতে আসে badc। তারপর, প্রতিফলিত cপেতে cbad, এবং তারপর dপেতে dcba


ইনপুট: myface। আউটপুট: fyecma

ইঙ্গিত: ক্রমে চিঠিগুলি দিয়ে যান a, c, e, f, m, y


ইনপুট: a। আউটপুট: a


ইনপুট: acb। আউটপুট: bac


ইনপুট: cwmfjordbankglyphsvextquiz। আউটপুট: ieabhqzugdltkfnvpjxsormycw

স্কোরিং

  • ইনপুট এবং আউটপুট যে কোনও সুবিধাজনক পদ্ধতি দ্বারা দেওয়া যেতে পারে ।
  • হয় একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন গ্রহণযোগ্য। যদি কোনও ফাংশন হয় তবে আপনি আউটপুটটি মুদ্রণের পরিবর্তে ফিরিয়ে দিতে পারেন।
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
  • এটি তাই সাধারণ গল্ফিংয়ের সমস্ত নিয়ম প্রয়োগ হয় এবং সংক্ষিপ্ততম কোড (বাইটে) জয়ী হয়।
  • পোস্ট করার পরে ~ 100 ঘন্টা গ্রহণ করা।

বর্তমান বিজয়ী


2
এই ধাঁধাটি ঠিক আছে কিনা তা সম্পর্কে কেউ আমাকে অন্তর্দৃষ্টি দিতে পারেন? এটি আমার দ্বিতীয় এটি (আমার প্রথম বন্ধ-বিষয় হিসাবে বন্ধ ছিল ... ওফস)। আমি এটি সত্যিই সম্পূর্ণ করার চেষ্টা করেছি, তবে আমি কিছুই অনুপস্থিত কিনা তা নিশ্চিত নই। আমি সত্যিই এই এসই তে উন্নতি করতে এবং মজা করতে চাই! ধন্যবাদ বলছি: ডি
এনএল 628

6
এটি দেখতে ভাল লাগছে। আমি কয়েকটি দীর্ঘ উদাহরণ দিতে পারি (বিশেষত প্রথম উদাহরণ বিভাগের পক্ষে আপাতদৃষ্টিতে প্রান্তের ক্ষেত্রে বেশি কিছু উপস্থিত করা ভাল)।
ফলসিং

1
স্পষ্টকরণের অনুরোধ: " অক্ষরগুলি অনন্য " অর্থ প্রতিটি অক্ষর ইনপুটটিতে একবারই ঘটে, এটি কি সঠিক?
জিপিএস

4
আমরা কি ছোট হাতের বদলে বড় হাতের অক্ষরে ইনপুট এবং আউটপুট নিতে পারি?
কেভিন ক্রুইজসেন

5
@ এনএল 628 যাইহোক, আপনি যদি এখানে কোনও পোস্ট দেওয়ার আগে যদি কোনও চ্যালেঞ্জটি অন্তর্দৃষ্টি পেতে চান তবে স্যান্ডবক্সে পোস্ট করুন ।
এরিক আউটগল্ফার

উত্তর:


8

ব্রেন-ফ্লাক , 188 বাইট

<>((((()()()){}){}()){}){(({}[()])<({}[(((((()()()()()){}){}){})()){}{}])<>{<>(({})<({}<>({}<>))((){[()](<{}>)}{}){{}(<({}<([]<<>{({}<>)<>}<>>){({}[()]<({}<>)<>>)}{}>)>)}{}>)<>}<>{}<>>)}<>

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

চ্যালেঞ্জের নির্দিষ্টকরণে বর্ণিত প্রতিচ্ছবিগুলির পাশাপাশি, এই কোডটিও ঠিক ২ exactly বার স্ট্রিংটিকে বিপরীত করে। এটি চূড়ান্ত আউটপুট নেভিগেশন কোন প্রভাব আছে।

# Push 26
<>((((()()()){}){}()){})

# Do 26 times:
{(({}[()])<

  # Subtract 122 from counter to get negative lowercase letter
  ({}[(((((()()()()()){}){}){})()){}{}])

  # For each character in string:
  <>{

    # Keep a copy of pivot letter on the third stack
    <>(({})<

    # Move next letter to other stack and compare to pivot
    ({}<>({}<>))

    # If letters are equal:
    ((){[()](<{}>)}{}){

      # Keep current letter separate from this transformation
      {}(<({}<

      # While keeping a copy of current stack height:
      ([]<

        # Move all letters to one stack
        <>{({}<>)<>}<>

      >)

      # Move a number of letters equal to old stack height back
      {({}[()]<({}<>)<>>)}{}

      >)>)

    }{}>)<>

  }

  # Destroy pivot letter
  <>{}<>

>)}

# Switch stack for output
<>

1
বাহ বেশ আশ্চর্যজনক। আমি এটি বুঝতেও পারি না: O +1
NL628

7

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

{vð.øy¡€á€gsJ£yý

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

ব্যাখ্যা

প্রথম পুনরাবৃত্তি জন্য উদাহরণস্বরূপ myface

{v                  # for each char y in sorted input
  ð.ø               # surround current string with spaces
                    # STACK: ' myface '
     y¡             # split at current letter
                    # STACK: [' myf', 'ce ']
       ۇ           # remove non-letters
                    # STACK: ['myf','ce']
         €g        # get the length of each string in the pair, reversed
                    # STACK: ['myf','ce'], [2,3]
            sJ      # join the pair back to a string
              £     # split into 2 pieces of the calculated sizes
                    # STACK: ['my','fce']
               yý   # join on the current char y
                    # STACK: 'myafce'

স্ট্রিংটি প্রতিটি পুনরাবৃত্তিকে স্পেস দিয়ে ঘিরে থাকে কারণ স্ট্রিংয়ের প্রথম বা শেষ বর্ণের বিভাজনটি দৈর্ঘ্য -1 তালিকার ফলস্বরূপ হয় এবং মার্জটি সেই অক্ষরটি অন্তর্ভুক্ত করে না।


1
17 বাইট?! ?? !! আশ্চর্যজনক ... আইট মিমোনমিক আপনাকে মাত্র একটি বাইট দিয়ে মারছে: পি
এনএল 628

1
মিম্ম ... বাহ, কেবলমাত্র আমি দেখতে পাচ্ছিলাম স্থানগুলির চারপাশে সরিয়ে নেওয়া। অদ্ভুত বলে মনে হচ্ছে আমরা এর অন্য কোনও বিকল্প খুঁজে পাই না।
ম্যাজিক অক্টোপাস উরান

1
@ ম্যাজিক অ্যাক্টোপাস উর্ন: প্রথম বা শেষ চরিত্রের বিভাজন সামলানোর পক্ষে এটি সবচেয়ে স্বল্পতম উপায়। এটি কেবল এর জন্য অনেকগুলি বাইটের মতো অনুভব করে
এমিগানা

5

পাইথ, 18 16 19 16 বাইট

VSQ=QXx_QN-QNN)Q

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

ব্যাখ্যা

VSQ=QXx_QN-QNN)Q
VSQ           )       For each character (N) in the sorted input (Q)...
          -QN         ... remove the character from Q...
      x_QN            ... get the reflected position...
     X       N        ... insert N...
   =Q                 ... and save the result into Q.
               Q      Output the final result.

বাহ 16 বাইট? আমি উজ্জীবিত হবে, তবে দুঃখের সাথে আমি আমার প্রতিদিনের ভোটদানের সীমাতে পৌঁছেছি। 6
ঘন্টাে করবে

4

পাইথন 3 , 80 73 বাইট

এসোলাং ফলের ধন্যবাদ আমাকে মনে করিয়ে দেওয়ার জন্য যে ফাংশনগুলি তাদের যুক্তি সংশোধন করে ফিরে আসতে পারে।

lambda x:[x.insert(len(x)+~x.index(i),x.remove(i)or i)for i in sorted(x)]

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

অক্ষরের তালিকা হিসাবে ইনপুট নেয়।


3
বাহ আমি সি ++ এবং পাইথন 3 এও একটি উত্তর লিখেছি। আমার পাইথন 3 উত্তরটি আপনার দ্বিগুণ দীর্ঘ ছিল ... +1
NL628


3

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

$
a
{`(.)(.*)\1$
$2$.`$*_$1$1
+`(.)_(_*.)
$2$1
}T`_l`l!`.$
!

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। ব্যাখ্যা:

$
a

লুপটি এ শুরু করুন a

{`(.)(.*)\1$
$2$.`$*_$1$1

যদি ইনপুটটিতে বর্তমান অক্ষর থাকে তবে এটির শেষে এটি সরিয়ে দিন যার স্ট্রিং _এর মূল অবস্থানটি উপস্থাপন করে।

+`(.)_(_*.)
$2$1

প্রতিটি _সরানোর জন্য চিঠিটি একটি চরিত্র ফিরিয়ে দেয়।

}T`_l`l!`.$

চিঠি বাড়ানো। zএটিকে পরিবর্তনের পরে !এটি কোনও কিছুর সাথে মেলে না এবং লুপ শেষ হয়।

!

মুছুন !


3

জাভা 8, 140 96 92 88 87 85 বাইট

s->{for(char c=9;++c>0;){int i=s.indexOf(c);if(i>=0)s.add(s.size()+~i,s.remove(i));}}

-44 বাইটস @ টিফিল্ডের পাইথন 2 উত্তরের একটি বন্দর তৈরি করে ।
-6 বাইট ধন্যবাদ @ অলিভিগ্রগ্রোয়ারকে ধন্যবাদ ।

একটি নতুন তৈরির পরিবর্তে ইনপুট তালিকাটি পরিবর্তন করে।

ব্যাখ্যা:

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

s->{                     // Method with ArrayList<Character> parameter and no return-type
  for(char c=9;++c>0;){  //  Loop over all characters known
                         //  (except for the first 9 unprintables)
    int i=s.indexOf(c);  //   Index of the character, or -1 of it isn't present
    if(i>=0)             //   If the current character is present in the List
      s.add(s.size()+~i,s.remove(i));}}
                         //    Change the position of this character to index `l-i-1`,
                         //    (where `l` is the size of the input-List)


1
@ অলিভিয়ারগ্রোওয়ের ধন্যবাদ এবং 1 টি বর্ণমালার অক্ষরের চেয়ে আরও বেশি লুপিং। :)
কেভিন ক্রুইজসেন

2
ঠিক আছে, আপনি যদি এই রাস্তাটি যান for(char c=9;++c>1;)তবে ভাল ;-)
অলিভিয়ের গ্রাগোয়ার

@ অলিভিয়েরগ্রোওরে আহ অবশ্যই, charপ্রায় মোড়কে Integer.MAX_VALUE + 1 == Integer.MIN_VALUE.. স্মার্ট!
কেভিন ক্রুইজসেন

@ অলিভিয়ারগ্রোগোয়ার sএকটি অ্যারেলিস্ট , সুতরাং indexOfজেনেরিক ধরণের হবে T(যা Characterএই ইনপুট তালিকার জন্য)।
কেভিন ক্রুইজসেন

3

জাভাস্ক্রিপ্ট, 85 80 79 বাইট

-ডানিয়েলআইডিকে ধন্যবাদ -6 বাইটস

a=>[...a].sort().map(i=>a.splice(s=a.indexOf(i),1)&&a.splice(a.length-s,0,i))&&a

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


এটি একটি "
স্টাইল

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


আপনি এই ফাংশনটি থেকে কোনও কিছুই ফিরিয়ে
আনতে

@ ড্যানিয়েলআইডি ফাংশনগুলি তাদের যুক্তি সংশোধন করে ফিরে আসতে পারে।
ফল এশোলং ফল


2

লাল , 96 94 বাইট

2 বাইট সংরক্ষণ করেছেন কেভিন ক্রুইজসেনকে ধন্যবাদ

func[x][foreach c sort copy x[i:(length? x)+ 1 - index? find x c insert at replace x c""i c]x]

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

আরও পঠনযোগ্য:

f: func[x][
    foreach c sort copy x[                  ; for each symbol in the sorted input
       i: (length? x) + 1 - index? find x c ; find its index and reflect it 
       insert at replace x c "" i c         ; remove it by replacing it with an empty char 
                                            ; and insert the symbol at its new index   
    ]
    x                                       ; return the transformed string
]

1
স্থান এবং স্থান থেকে মুক্তি পেতে find x c replace x c""insert at x i cআপনি 2 বাইট সংরক্ষণ করতে পারেন । find x c insert at replace x c""i cx
কেভিন ক্রুইজসেন

কেভিন ক্রুইজসেন আপনাকে ধন্যবাদ কেভিন, এখন অনেক বেশি ভালো!
গ্যালেন ইভানভ

2

আর , 73 72 69 বাইট

function(s){for(x in sort(s))s=append(s[x!=s],x,match(x,rev(s))-1);s}

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

অক্ষরের একটি ভেক্টরকে ইনপুট এবং আউটপুট দেয়।


ew, cএকটি চলক নাম হিসাবে ব্যবহার করছেন ? এটি ভয়াবহ, এমনকি কোড গল্ফের জন্য!
জিউসেপ

ঠিক আছে, আমি স্পষ্টতই এটি পরিবর্তন করতে পারি, তবে এটি এখানে যে কাউকে বিরক্ত করতে পারে তা দেখে আমি সত্যিই অবাক হয়েছি। আমি বাস্তবে অব্যবহৃত বিল্ট-ইনগুলির পরিবর্তে পরিবর্তনশীল নামগুলিতে কিছু পছন্দ cরাখার জন্য পছন্দ করি (যেমন পছন্দ করি char)।
কিরিল এল।

ভাল, যখন কোনও উন্নতির সন্ধান করার সময় (যা আমি পাইনি) আমি নিজেকে ব্যবহার করার চেষ্টা করতে দেখলাম cএবং কী ঘটছে তা অনুভব করতে না পেরে আমি ভয়াবহ হয়েছিল। আমি সাধারণত ব্যবহার Kবা kবা এমনকি Cঠিক সেই মতো সমস্যা এড়ানোর জন্য, কিন্তু আমি সম্পূর্ণই এটা পেতে। appendকাজের জন্য সঠিক সরঞ্জাম ডিএফ হয়।
জিউসেপে

ওহ, আমি দেখছি, এর জন্য দুঃখিত, ভবিষ্যতে এই জাতীয় "ফাঁদ" স্থাপন এড়াতে চেষ্টা করবে।
কিরিল এল।


2

জাপট , 23 22 বাইট

¬n rÈ+S kY iYJ-XbY)x}U
¬n                     // Split the input into chars and sort it.
   r                }U // Then reduce the result with initial value of the input.
    È+S                // Append a space for replacing edge cases and
        kY             // remove the current char from the string.
           iY          // Insert it back
             J-XbY     // at the calculated index,
                  )x   // and remove the unnecessary space once we're done.

অলিভারকে ধন্যবাদ একটি বাইট সংরক্ষণ করা হয়েছে ।
এটি অনলাইন চেষ্টা করুন!


1
সুন্দর. আপনি প্রতিস্থাপন করতে পারেন সঙ্গেJ
অলিভার

@ অলিভার আপনাকে অনেক ধন্যবাদ, আমি এখনও এবং পরে ডিফল্ট ভেরিয়েবলগুলি ব্যবহার করতে ভুলে গেছি, এটি খুব সহজ।
নিট

1

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

s#c|(h,_:t)<-span(/=c)s,(v,w)<-splitAt(length t)$h++t=v++c:w|1<2=s
f s=foldl(#)s['a'..]

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

f s=foldl(#)s['a'..]         -- fold the function '#' into all characters from 'a'
                              -- with the starting value of the input string s
s#c=                          -- in each step (s: result so far, c: next char)
   (h,_:t)<-span(/=c)s        -- let 'h' be the substring before 'c' and
                              -- 't' the substring after 'c'. the pattern match
                              -- fails if there's no 'c' in 's'
   (v,w)<-splitAt(length t)$h++t
                              -- split the string 'h++t' at index length of t
   =v++c:w                    -- return 'v' followed by 'c' followed by 'w'
   |1<2=s                     -- if there's no 'c' in 's', return 's' unchanged             

কেন এই থামবে? অসীম তালিকার উপরে ভাঁজ হওয়া কি অসীম লুপের কারণ নয়? এটা করা উচিত নয় f s=foldl(#)s['a'..'z']?
ব্যবহারকারী 1472751

1
@ ব্যবহারকারী 1472751: ['a'..]অসীম নয়, কারণ Charশ্রেণীর অন্তর্গত Bounded। সঙ্গে একটি তালিকা ..]এর Boundedমান এ স্টপ maxBound। চেষ্টা করুন: print [False ..]
নিমি

1

SNOBOL4 (CSNOBOL4) , 132 128 বাইট

	DEFINE('I(I)')
I	U =&LCASE
N	U LEN(1) . K REM . U	:F(RETURN)
	I ARB @S K	:F(N)
	I K =
	I ARB . L RPOS(S) REM . R
	I =L K R	:(N)

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

প্রয়োজনীয় অ্যালগরিদমের সোজা বাস্তবায়ন। একটি পূর্ণ প্রোগ্রামের চেয়ে কোনও ফাংশনে স্যুইচ করে কয়েকটি বাইট সংরক্ষণ করা; কম-বেশি ব্যাখ্যা একই থাকে।

	I =INPUT			;* read input
	U =&LCASE			;* alias for lowercase letters (it started out as uppercase)
N	U LEN(1) . K REM . U	:F(O)	;* set K to the next lowercase letter, and when empty, goto O
	I ARB @S K	:F(N)		;* set S to the number of letters before K, or goto N
	I K =				;* remove K
	I ARB . L RPOS(S) REM . R	;* set R to the last S characters of I and L to the others
	I =L K R	:(N)		;* recombine the string and goto N
O	OUTPUT =I			;* print new string
END

1

জেলি ,  12  11 বাইট

W;ṢḟṁUṣ¥jʋ/

একটি monadic লিঙ্ক অক্ষরের একটি তালিকা গ্রহণ করে এবং অক্ষরের একটি তালিকা ফেরত দেয়।

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

কিভাবে?

W;ṢḟṁUṣ¥jʋ/ - Link: list of characters V  e.g. "myface"  ...i.e. ['m','y','f','a','c','e']
W           - wrap V in a list                 ["myface"]
  Ṣ         - sort V                           ['a','c','e','f','m','y']
 ;          - concatenate                      ["myface",'a','c','e','f','m','y']
          / - reduce with:
         ʋ  -   last four links as a dyad:
            -   (i.e. start with "myface" on the left and 'a' on the right 
            -         2nd iteration has that result on the left and 'c' on the right
            -         and so-forth)            e.g. left = myface, right = 'a'
   ḟ        -     filter out (right from left)      "myfce"
       ¥    -     last two links as a dyad:
     U      -       upend left                      "ecafym"
      ṣ     -       split at occurrences of right   ["ec","fym"]
    ṁ       -     mould (ḟ(x,y)) like (Uṣ¥(x,y))    ["my","fce"] 
         j  -   join with right                   "myafce"

ঠিক আছে, এটি বেশ কিছু অন্য সবকিছুকে ধ্বংস করে দিয়েছে ...
NL628

1
আচ্ছা আমি মনে করি জেলি এটির জন্য - আমি অর্ধেক আশা করি ডেনিস (জেলির স্রষ্টা) একটি সংক্ষিপ্ত জমা দেবে!
জোনাথন অ্যালান

লল এটি বেশ আশ্চর্যজনক: পি তবে আমি আমার প্রতিদিনের ভোট গণনাটি ব্যবহার করতে পারব না / সিটি করতে পারি না..আরপি
এনএল 628

1
... আমি মনে করি (ফিল্টার আউট) ব্যবহার করে বাইট সংরক্ষণের কোনও উপায় থাকতে পারে তবে আমি এখনও এটি পরিচালনা করতে পারি নি।
জোনাথন অ্যালান

1
সময় অনুসারে দেখে মনে হচ্ছে এটি ইনপুটটির দৈর্ঘ্যে ও (এন লগ এন) যেহেতু এটি প্রথমে পাইথন ব্যবহার করে sortedএবং তারপরে কম জটিল ক্রিয়াকলাপ বলে মনে হয় তার পুনরাবৃত্তিগুলি (সমতলকরণ, পাওয়া সূচকগুলিতে বিভাজন, যোগ দেওয়া, বিপরীত) )। - এবং পাইথন sortedহ'ল ও (এন লগ এন)।
জোনাথন অ্যালান

1

সি (ঝনঝন) , 164 162 বাইট

y,n,a,b,c,p,i;f(char*s,l){for(i=0;p=0,++i<123;p<l&&(y=s[p],n=l+~p,a=p+1,b=p,n<p&&(a=n,b=n+1),c=l+~(2*(n<p?n:p)),memmove(s+b,s+a,c),s[n]=y))while(s[p]^i&&p<l)p++;}

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

f() ইনপুট স্ট্রিং এবং এই অ্যারেটির দৈর্ঘ্যযুক্ত প্যারামিটার হিসাবে চর-অ্যারে নেয় এবং প্রয়োজনীয় প্রতিচ্ছবি জায়গায় সঞ্চালিত হয়।

callf() সুন্দর-প্রিন্টিং করে

ক্রেডিট

-২ বাইট। @Kevin। ধন্যবাদ


1
আপনি স্থানটি সরিয়ে 2 বাইট সংরক্ষণ করতে char *sপরিবর্তন i=96করতে i=9পারেন।
কেভিন ক্রুইজসেন

ভাল ক্যাচ .. আমাদের আরম্ভ করা দরকার নেই a। ধন্যবাদ
জিপিএস 18


1

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

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

l←s[⍋⎕av⍳s←,⎕]⋄⍎∊(⍴s)⍴⊂'s←(n←⌽~s=↑l)\s~↑l⋄((~n)/s)←↑l⋄l←1↓l⋄'⋄s

ব্যাখ্যা:

l←s[⍋⎕av⍳s←,⎕] sort characters into alphabetical order

⍎∊(⍴s)⍴⊂'....' create an implicit loop for each character

s←(n←⌽~s=↑l)\s~↑l⋄((~n)/s)←↑l do the relection for first character in l

l←1↓l drop the first character in l

s display the result

⋄ statement separator

1

পার্ল , 74 70 বাইট

ইউনিক্স ফিল্টার হিসাবে আহবান সহ 84 80 বাইট

for$c(a..z){if($p=1+index$_,$c){substr$_,$p-1,1,"";substr$_,-$p,0,$c}}
$ echo -e 'dcba\nmyface\na\nacb\ncwmfjordbankglyphsvextquiz' |
> perl -pE'for$c(a..z){if($p=1+index$_,$c){substr$_,$p-1,1,"";substr$_,-$p,0,$c}}'
dcba
fyecma
a
bac
ieabhqzugdltkfnvpjxsormycw
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.