একটি কলাম ঘোরান


28

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

উদাহরণ

নিম্নলিখিত পাঠ্যের 20 তম কলামটি ঘুরান (1-ভিত্তিক):

A line with more than k characters.
A longer line with more than k character.
A short line.
Rotate here: ------v--
This is long enough.

This is not enough.
Wrapping around to the first line.

আউটপুট:

A line with more thtn k characters.
A longer line with aore than k character.
A short line.
Rotate here: ------m--
This is long enoughv

This is not enough.
Wrapping around to .he first line.

একই ইনপুটটির কে- তম কলাম ঘোরানো যেখানে 35 < কে <42 ইনপুট পাঠ্যটি অপরিবর্তিত হতে পারে।

বিধি

  • আপনি ডেটা উপস্থাপনের জন্য কাঁচা পাঠ্য, রেখার একটি অ্যারে, 2 ডি বর্ণের অ্যারে বা কোনও যুক্তিসঙ্গত বিন্যাস ব্যবহার করতে পারেন। আপনি অক্ষর ছাড়াও ডেটা ধরণের ব্যবহার করতে পারেন।
  • আপনার কোডের দৈর্ঘ্য যদি এর উপর নির্ভর করে তবে উপাদানের ডেটা ধরণের সম্ভাব্য মানগুলির সংখ্যা কমপক্ষে 20 হওয়া উচিত, অন্যথায় কমপক্ষে 2 এটি অক্ষর বা নেটিভ টাইপের সমর্থিত অন্যান্য মানের একটি উপসেট হতে পারে।
  • স্পেস এবং কোনও ধরণের নাল মানগুলি কেবলমাত্র সাধারণ মান, যদি আপনি ইনপুটে তাদের অনুমতি দেন। আপনি এগুলি উপাদান ধরণের মধ্যে কেবল বাদ দিতে পারেন।
  • নিয়ম পরিবর্তন: আপনি যদি ডেটা সংরক্ষণের জন্য সমান দৈর্ঘ্যের অ্যারে ব্যবহার করতে পছন্দ করেন তবে আপনাকে জেনেরিক ডিফল্ট মান (যেমন স্পেসস) দিয়ে সংক্ষিপ্ত অ্যারেগুলিকে প্যাড করার অনুমতি দেওয়া হয়।
  • k 0-ভিত্তিক বা 1-ভিত্তিক হতে পারে। এটি ইনপুটটির দীর্ঘতম লাইনের ভিতরে থাকার নিশ্চয়তা রয়েছে (বোঝায় ইনপুটটিতে কমপক্ষে একটি খালি-খালি রেখা থাকে)।
  • এটি উপরে বা নীচে ঘোরে কিনা তা আপনি চয়ন করতে পারেন।
  • হয় কেবল একটি অবস্থান ঘোরান, বা এন অবস্থানগুলি ঘোরান যেখানে এন ইনপুটটিতে দেওয়া ধনাত্মক পূর্ণসংখ্যা।
  • সংক্ষিপ্ততম কোড জিতেছে।

উত্তর:


8

এপিএল (ডায়ালগ প্রসারিত) , 9 বাইট এসবিসিএস

পুরো প্রোগ্রাম। পাঠ্যের 2 ডি ব্লকের জন্য স্ট্যান্ডিন প্রম্পট করে, তারপরে কে (0-ভিত্তিক বা 1-ভিত্তিক, এপিএলের বর্তমান সেটিংসের উপর নির্ভর করে), তারপরে এন । ধনাত্মক এন ঘোরানো, নেতিবাচক এন ঘোরান।

ডোমেনটি নিম্নলিখিত যে কোনও একটি নিয়ে গঠিত:

  1. সমস্ত ইউনিকোড অক্ষর, স্পেস ব্যতীত , 1114111 অনুমোদিত মানগুলি রেখে যা প্রয়োজনীয় 20 এর চেয়ে বেশি।

  2. 0 ব্যতীত সমস্ত সংখ্যা, প্রায় 2 129 অনুমোদিত মান রেখে যায় , যা প্রয়োজনীয় 20 এর চেয়ে বেশি।

যেহেতু এপিএলকে আয়তক্ষেত্রযুক্ত হওয়ার জন্য 2 ডি ব্লক প্রয়োজন, তাই ইনপুটটি ফাঁকা স্থান / জিরো দিয়ে প্যাড করা আবশ্যক। স্ট্রিং / সংখ্যা সংক্রান্ত তালিকার তালিকার বামে প্রবেশ করে এটি স্বয়ংক্রিয়ভাবে করা যেতে পারে ।

⎕⌽@≠@⎕⍢⍉⎕

এটি অনলাইন চেষ্টা করুন! (আপাত স্থানগুলি আসলে অ-ব্রেকিং স্পেস)

 পাঠ্য ব্লকের জন্য প্রম্পট

⍢⍉ স্থানান্তরিত হওয়ার সময়:

@⎕ নিম্নলিখিত ইনপুট'র সারিতে প্রয়োগ করুন:

  @≠ তাদের প্রোটোটাইপ থেকে পৃথক উপাদানগুলিতে (অক্ষরের জন্য স্থান, সংখ্যার জন্য শূন্য):

   ⎕⌽ "ইনপুট" পদক্ষেপগুলি বাম দিকে ঘোরান

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

এই সংস্করণটি শনাক্তযোগ্য ফিল উপাদান হিসাবে শূন্যগুলি ব্যবহার করে পুরো অক্ষর সেট করতে দেয়।

0~¨⍨↓⍉⎕⌽@(0≠⊢)@⎕⍉↑0,¨⎕

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

অবশ্যই এটির অর্থ হ'ল সংখ্যা যুক্তিগুলিতে শূন্যগুলি অনুমোদিত নয়। সমস্ত সংখ্যার জন্য একই প্রোগ্রামে 0প্রতিস্থাপনের তিনটি উপস্থিতি থাকবে ' 'এবং স্থানটি পূরণ হিসাবে ব্যবহার করা হবে:

' '~¨⍨↓⍉⎕⌽@(' '≠⊢)@⎕⍉↑' ',¨⎕

আমরা যদি সত্যই উভয় অক্ষর এবং সংখ্যাগুলির সম্পূর্ণ পরিসীমা (এমনকি একটি সংমিশ্রণ) করতে চাই তবে আমরা শূন্য হিসাবে নালটি ব্যবহার করতে পারি:

n~¨⍨↓⍉⎕⌽@(n≠⊢)@⎕⍉↑⎕,¨⍨n←⎕NULL

এবং পরিশেষে, আমরা যদি ইনপুট ডোমেনে নাল এবং বস্তুগুলি অন্তর্ভুক্ত করতে চাই, আমরা একটি ফিল ক্লাসটি সংজ্ঞায়িত করতে পারি এবং এর উদাহরণগুলি পূরণ হিসাবে ব্যবহার করতে পারি:

~∘I¨⍨↓⍉⎕⌽@(~⊢∊I←⎕INSTANCES⊢∘C)@⎕⍉↑⎕,¨⍨⎕NEWFIX':Class C' ':EndClass'

এখন আনুষ্ঠানিকভাবে এটি (এবং এর মতো নতুন উত্তরগুলি) একটি বৈধ উত্তর হিসাবে ঘোষণা করুন। দুঃখিত যদি এটি আপনাকে খুব বেশি বিরক্ত করে থাকে Sorry
jimmy23013

আপনার নাল সংস্করণ চেয়ে খাটো: n~¨⍨↓⍉⎕⌽@(≢¨)@⎕⍉↑⎕,¨⍨n←⊂⊂⍬ আরও গল্ফিংয়ে সহায়তার জন্য আপনি আপনার এক্সটেনশনে মোডেড যুক্ত করতে পারেন (তবে তারা ঠিক কতটা কার্যকর তা আমি নিশ্চিত নই)।
jimmy23013

@ জিমি ২৩০১৩ হ্যাঁ, আমি এটির কথা ভেবেছিলাম, তবে তারপরে এটি নির্বিচারে নেস্টেড স্টাফগুলির তালিকা নিতে পারে না। শেষটি হ'ল চূড়ান্ত সমাধান, বিশেষত যদি Cএবং Iস্থানীয়করণ হয় যাতে তারা দূষিত হয় না:{~∘I¨⍨↓⍉⎕⌽@(~⊢∊I←⎕INSTANCES⊢∘C)@⎕⍉↑⎕,¨⍨⎕NEW⎕FIX I←C←':Class C' ':EndClass'}
অ্যাডাম

11

পাইথন 2 , 111 110 109 99 98 96 94 বাইট

lambda a,n:[l[:n]+(l[n:]and[L[n]for L in a[i:]+a if L[n:]][1]+l[n+1:])for i,l in enumerate(a)]

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

লাইনগুলির তালিকা এবং 0-সূচক কলামের তালিকা হিসাবে ইনপুট নেয় এবং স্ট্রিংগুলির একটি তালিকা প্রদান করে।

কলামটি ঘোরানো হয় 1।

-11 বাইটস, জো কিংকে ধন্যবাদ


7

জাভা 8, 107 106 135 107 বাইট

k->m->{int s=m.length,i=-1;for(char p=0,t;i<s;t=m[i%s][k],m[i%s][k]=p<1?t:p,p=t)for(;m[++i%s].length<=k;);}

বাগ-ফিক্সের জন্য +29 বাইটস ..

0-ইন্ডেক্স; উদাহরণের মতো নীচে ঘোরে।
একটি অক্ষর-ম্যাট্রিক্স হিসাবে ইনপুট; বাইটস সংরক্ষণে নতুনকে ফেরতের পরিবর্তে চর-ম্যাট্রিক্স পরিবর্তন করে।

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

ব্যাখ্যা:

k->m->{                 // Method with integer and char-matrix parameters and no return-type
  int s=m.length,       //  Amount of lines in the matrix `s`
      i=-1;             //  Index-integer `i`, starting at -1
  for(char p=0,         //  Previous-character, starting at 0
           t;           //  Temp-char, uninitialized
      i<s               //  Loop as long as `i` is smaller than `s`:
      ;                 //    After every iteration:
       t=m[i%s][k],     //     Set the temp to the `k`th character of the `i`'th line
       m[i%s][k]=       //     Replace the `k`'th character of the `i`'th line with:
         p<1?           //      If `p` is still 0:
          t             //       Set it to the temp we just set
         :              //      Else:
          p,            //       Set it to the previous-character instead
       p=t)             //     And then replace `p` with the temp for the next iteration
    for(;m[++i          //   Increase `i` by 1 before every iteration with `++i`,
             %s].length //   And continue this loop until the length of the `i`'th line
           <=k;);}      //   is smaller than or equal to the input `k`

1
একটি জিনিস আমি লক্ষ্য করেছি যে আপনি একটি অনুমান করেছিলেন যে প্রথম লাইনে যথেষ্ট অক্ষর রয়েছে - char p=m[0][k]- যদি তা না হয় তবে এটি কি ব্যতিক্রম ছুঁড়ে ফেলবে না? চমৎকার কাজ বিটিডব্লিউ। আপনি আমার সি # প্রচেষ্টাকে বড় ব্যবধানে
মারছেন

@ ডানা আহ, ছিঃ, আপনি ঠিক বলেছেন .. আমি সম্ভবত আপনাকে এই বড় ব্যবধানে মারধর করছি কারণ আমি ঘটনাক্রমে এই ধারণাটি তৈরি করেছি .. এটি সমাধান করার চেষ্টা করব।
কেভিন ক্রুইজসেন

1
@ ডানা স্থির, লক্ষ্য করার জন্য ধন্যবাদ।
কেভিন ক্রুইজসেন

2
@ ডানা এবং আবার 107 এ ফিরে আসুন। ;)
কেভিন ক্রুইজসেন

1
nknkint p=0,t;pm[i%s][k]=(char)(p<1?t:p)

7

Zsh , 94 87 78 74 69 বাইট

-7 বাইটগুলি একটি গাণিতিক ত্রিনিরিতে পরিবর্তন করে , -9 বাইটগুলি ইন-প্লেস (টিআইএল), -4 বাইট স্ট্যান্ডিনে সূচি এবং স্ট্রিংগুলিকে আর্গুমেন্ট হিসাবে ইনপুট দিয়ে, -5 বাইটগুলি অ্যারের পরিবর্তে একটি স্ট্রিং ব্যবহার করে ঘোরানো অক্ষর সংরক্ষণ করতে।

read i
for s;c+=$s[i]
c=$c[-1]$c
for s;s[i]=$c[$[$#s<i?0:++j]]&&<<<$s

ওল্ড ওল্ড ওল্ড ওল্ড এটি অনলাইন ব্যবহার করে দেখুন!

এই উত্তরটি তৈরি করার কীগুলি এখানে রয়েছে:

  • $array[0]বা $string[0]সর্বদা খালি থাকে
  • $array[n]অথবা $string[n]এন অ্যারে / স্ট্রিংয়ের দৈর্ঘ্যের চেয়ে বড় হলে খালি
  • array[i]=cঅথবা string[i]=cউপাদান / চরিত্রটি প্রতিস্থাপন করবে।
  • ইন $[$#s<i?0:++j], jযদি বৃদ্ধি হয় না$#s<i

মূল 94 বাইট উত্তরে, একটি <<<মুদ্রণ ব্যবহার করে জড়িত আমি একটি আকর্ষণীয় সমস্যা এসেছিলাম । এর echoআশেপাশে যেতে আমাকে ব্যবহার করতে হয়েছিল:

for s;echo $s[0,i-1]$c[$[$#s<i?0:++j]]${s:$i}

এর কারণ এখানে দেখা যায়:

echo $ZSH_SUBSHELL   # prints 0
<<< $ZSH_SUBSHELL    # prints 1

এখানে স্ট্রিংগুলি সাব-শেলগুলিতে চালিত হয় কারণ এগুলি অন্য প্রোগ্রামে স্টিডিন হিসাবে দেওয়া হয়। যদি কোনও প্রোগ্রাম দেওয়া না হয় তবে তা স্পষ্টতই দেওয়া হয় cat। আপনি এটি দিয়ে দেখতে পারেন <<< $_<<< $ZSH_SUBSHELLঅনুরূপ echo $ZSH_SUBSHELL | cat। যেহেতু আমাদের ইনক্রিমেন্ট দরকার j, আমরা সাব-শেইলে থাকতে পারি না।


6

আর , 62 বাইট

function(L,n){L[A,n]<-rep(L[A<-L[,n]!=' ',n],2)[1+1:sum(A)];L}

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

অক্ষরের স্পেস-প্যাডেড ম্যাট্রিক্স হিসাবে ইনপুট নেয়। উপরের দিকে ঘোরে। কিরিল এলকে সমস্ত ধন্যবাদ !

আর , 74 বাইট

function(L,n){substr(L[A],n,n)=rep(substr(L[A<-nchar(L)>=n],n,n),2)[-1]
L}

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

এই জমাটি প্যাডড লাইনের ভাতা পূর্বাভাস দেয়।

substrএখানে আলিয়াস কাজ করবে না কারণ আমরা কল করছি substrএবং substr<-প্রথম লাইনে।

নন-প্যাডড লাইনগুলির তালিকা হিসাবে I / O; উপরের দিকে ঘোরা।


যেহেতু sens ক্যমত্য ইনপুটগুলিকে সংশোধন করার অনুমতি দেয়, আমরা এই ক্রেজিট কাজটি
কিরিল এল

এছাড়াও, অপ নিয়ম কবে নাগাদ যাতে এটি এখন স্থান-প্যাডেড ম্যাট্রিক্স, ভালো কিছু এর সাথে কাজ করা সম্ভব, এই
কিরিল এল

@KirillL। আমি মনে করি না যে আর রেফারেন্স দিয়ে চলেছে তাই আমাদের সম্ভবত এটি করার অনুমতি দেওয়া হয়নি; এটি আমাকে আঘাত করে যে এটি কেবল তখনই কার্যকর হয় যদি Lপ্যারেন্ট পরিবেশে যুক্তির নাম দেওয়া হয়। আমি আনন্দের সাথে স্পেস-প্যাডিংয়ে আপডেট করব, যদিও!
জিউসেপ্পে

আহ, আমি দেখছি, আপনি ঠিক বলেছেন। আমি আমার রুবির উত্তরটির দিকে তাকিয়ে এই ধারণাটি নিয়ে এসেছি (যা পুরো 1 টি বাইটকে এইভাবে সাশ্রয় করে :)) তবে এই পরিস্থিতিতে ভাষাগুলি প্রকৃতপক্ষে আলাদা আচরণ করে।
ক্যারিল এল।

5

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 82 বাইট

k=>a=>{var c='0';a.Where(b=>b.Count>k&&((b[k],c)=(c,b[k])).c>0).ToList()[0][k]=c;}

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

@ এএসসিআইআই কেবলমাত্র এই পরামর্শ দেওয়ার জন্য foreachযা কৃতিত্বের সাথে 12 বাইট সঞ্চয় সঞ্চয় করে!

-8 বাইটস @ সোমনকে ধন্যবাদ!
-1 বাইট ধন্যবাদ @ এম্বেডিমেন্টফ অজ্ঞতার জন্য!



চরগুলির পরিবর্তে ইনস ব্যবহার করা হলে 183 হতে পারে
মেয়াদউত্তীর্ণ ডেটা

@ এক্সপায়ার্ডডাটা ই
-ই-এর

খুব খারাপ আপনি foreachএটি ব্যবহার করতে পারবেন না কারণ এটি বিপরীত আদেশ :(
ASCII- কেবলমাত্র

1
dynamicঘোষণাগুলিকে মার্জ করতে এবং 2 বাইট সংরক্ষণ করতে ব্যবহার করুন (আমি এটি আগে কখনও দেখিনি!) এটি অনলাইনে চেষ্টা করুন!
আমার সর্বনাম


3

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

ʒg‹}U¹εXyk©diX®<èIèIǝ

অবশ্যই আরও কিছু গল্ফ করা যেতে পারে ..

0-ইন্ডেক্স; ইনপুট এবং আউটপুট উভয় স্ট্রিংয়ের তালিকা হিসাবে।
এটি উদাহরণের মতো নীচে ঘোরে, তবে <পরিবর্তে পরিবর্তিত হয়ে পরিবর্তিত হতে পারে >

এটি অনলাইনে ব্যবহার করে দেখুন (পাদলেখগুলি নতুন লাইনের মাধ্যমে তালিকায় যোগ দেয়, প্রকৃত তালিকার আউটপুট দেখতে এটি সরিয়ে ফেলুন)।

ব্যাখ্যা:

ʒ  }             # Filter the (implicit) input-list by:
 g               #  Where length of the current string
                #  is larger than the (implicit) input-integer
    U            # Pop and store this filtered list in variable `X`
¹ε               # Map over the first input-list again:
  Xyk            #  Get the index of the current string in variable `X`
     ©           #  Store it in the register (without popping)
      di         #  If the index is not -1, so the current string is present in variable `X`
        X®<è     #   Get the (index-1)'th string in variable `X`
            Iè   #   Get the character at the index of the input-integer
              Iǝ #   And insert it at the index of the input-integer in the current string

3

K4 , 41 বাইট

সমাধান:

{.[x;i;:;.q.rotate[1;x . i:(&y<#:'x;y)]]}

ব্যাখ্যা:

যদি নিশ্চিত না আমি কিছু ... 0 সূচক অনুপস্থিত করছি, আপ rotates (পরিবর্তন 1করার জন্য -1ঘোরান নিচে জন্য)

{.[x;i;:;.q.rotate[1;x . i:(&y<#:'x;y)]]} / the solution
{                                       } / lambda taking implicit x and y
 .[x; ;:;                              ]  / index apply assignment back into x
         .q.rotate[1;                 ]   / left rotate 1 character
                           (       ; )    / two item list
                                    y     / index to rotate
                               #:'x       / count (#:) each (') input
                             y<           / index less than ?
                            &             / indexes where true
                         i:               / assign to variable w
                     x .                  / index into x
     i                                    / indexes we saved as i earlier

3

Japt 2.0a0, 18 বাইট

মাল্টি-লাইন স্ট্রিং হিসাবে ইনপুট এবং আউটপুট সহ 0-ভিত্তিক। 1 দ্বারা ঘোরে।

একটি ছোট পদ্ধতি হতে হবে!

yÈr\S_Y¦V?Z:°TgXrS

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

yÈr\S_Y¦V?Z:°TgXrS     :Implicit input of string U & integer V
y                      :Transpose
 È                     :Pass each line X at 0-based index Y through the following function & transpose back
  r                    :  Replace
   \S                  :  RegEx /\S/g
     _                 :  Pass each match Z through the following function
      Y¦V              :    Test Y for inequality with V
         ?Z:           :    If true, return Z, else
            °T         :    Increment T (initially 0)
              g        :    Index into
               XrS     :    X with spaces removed

আমি মন্তব্য এবং নতুন নিয়মগুলি ঘনিষ্ঠভাবে দেখিনি (তাই সম্ভবত এটি কোথাও উল্লেখ করা হয়েছিল যে এটি এখন অনুমোদিত ছিল, যখন এটি আগে ছিল না), তবে এটি কি প্রাথমিক ইনপুটটির ফাঁকা স্থান ছাড়তে অনুমতি দেয়? ধরা যাক আপনি ইনপুট-সূচকটি এতে পরিবর্তন করেছেন 6, আপনার উত্তরটি line withপ্রথম লাইনে এবং Rotate hereচতুর্থ লাইনের স্থানটি এড়িয়ে যাবে , অন্য উত্তরগুলির বেশিরভাগ অংশ সেই স্থানটিও ঘুরবে।
কেভিন ক্রুইজসেন

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

1
" আমি মনে করি " এই অংশটি আসলে আমি কীভাবে প্রতিক্রিয়া জানাবো, হাহা। আর কী বাধ্যতামূলক এবং alচ্ছিক তা আমার কোনও ধারণা নেই তবে আমি মনে করি আপনি প্রকৃতপক্ষে ইনপুট এবং আউটপুটে স্থানগুলি বাদ দিতে বেছে নিতে পারেন; আমি মনে করি আপনি স্থানগুলি গণনা করতে বা না চয়ন করতে পারেন; এবং আমি মনে করি আপনি আউটপুটে ট্রায়ালিং স্পেস ব্যবহার করতে পারেন বা না; সব কিছু বরং বিভ্রান্তিকর। আহ ভাল ..
কেভিন ক্রুইজসেন

3

জেলি , 16 বাইট

z⁷⁹ịỴFṙ-ṁƲY⁸ṛ⁹¦"

একটি ডায়াডিক লিংক বামদিকে লাইনগুলির একটি তালিকা (নতুন লাইনের অক্ষরযুক্ত অক্ষরের তালিকা) এবং ডানদিকে একটি পূর্ণসংখ্যা যা লাইনের একটি তালিকা ফেরত দেয়।

এটি অনলাইন চেষ্টা করুন! (পাদলেখগুলি নতুন লাইনে বিভক্ত হয়, লিঙ্কটি কল করে এবং আবার নতুন লাইনে যোগ দেয়)

কিভাবে?

z⁷⁹ịỴFṙ-ṁƲY⁸ṛ⁹¦" - Link: lines L; index I        e.g. example in question; 20
z⁷               - transpose L with filler '\n'       ['AAART\nTW', '   oh\nhr', ...]
  ⁹ị             - Ith item                           'am\nv.\n\nt'
    Ỵ            - split at newlines                  ['am', 'v.', '', 't']
         Ʋ       - last four links as a monad - i.e. f(X):
     F           -   flatten                          'amv.t'
       -         -   -1
      ṙ          -   rotate left by                   'tamv.'
        ṁ        -   mould like X                     ['ta', 'mv', '', '.']
          Y      - join with newlines                 'ta\nmv\n\n.'
                 -   -- call this C
           ⁸     - chain's left argument, L
               " - zip with - i.e. [f(L1,C1), f(L2,C2), ...]:
              ¦  -   sparse application...
             ⁹   -   ...to indices: chain's right argument, I
            ṛ    -   ...of: right argument, Cn


2

পার্ল 6 , 38 33 বাইট

অ্যারে জায়গায় পরিবর্তিত করে (নিয়মগুলি মঞ্জুরি দেয় না)

{@^a.grep(*>$^b+1)[*;$b].=rotate}

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


@ জোকিং প্রথমে আমি ভেবেছিলাম আউটপুট না করে এটি সংরক্ষণ করা কিছুটা প্রতারণা হবে, তবে নিয়মগুলি পুনরায় পড়া, আউটপুট দেওয়ার ক্ষেত্রে আসলে কোনও শর্ত নেই ... হুররে। আপনার মতো 31 টি পেতে একটি (…) (…) করা নিশ্চিতভাবেই প্রতারণা বলে মনে হচ্ছে, যেহেতু এটি কার্যকরভাবে ব্লকটি থেকে একটি কল উত্তোলন করেছে, তবে এটি এখনও 33 টি একযোগে একটি কল দিয়ে পাস করার সাথে করা যায় যাতে আমি ' আমি যে সাথে যেতে।
user0721090601

আহা উফ, আমি ভুল লিঙ্কটি পেস্ট করেছি। আমি যদিও মন্তব্য করতে চাইছিলাম তা পেয়েছি। কারি ইনপুট পুরোপুরি ঠিক আছে (যদিও এটি এই ক্ষেত্রে কাজ করে না), এবং রেফারেন্স দ্বারা পাস করা একটি যুক্তি সংশোধন করা অনুমোদিত ইনপুটটির একটি আদর্শ ফোর
জো কিং

2

জাভাস্ক্রিপ্ট (নোড.জেএস) , 52 বাইট

k=>a=>a.filter(b=>b[k]&&([b[k],a]=[a,b[k]]))[0][k]=a

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

-7 বাইট শ্যাগিকে ধন্যবাদ!

একটি জাভাস্ক্রিপ্ট উত্তর এখনও দেখেনি! আমার সি উত্তর উত্তর বন্দর।


63 বাইট । সম্ভবত আরও গল্ফ করা যেতে পারে।
শেগি

@ শেগি - দুর্দান্ত :) বেশিরভাগ সময় আমি দেখি জেএস উত্তরগুলি বিভিন্ন ধরণের পাগল কাজ করে। আমার কাছে স্ট্র্যাটেজি থাকার পরে আমি এটিকে শট দেব বলে মনে হয়েছে।
দানা 15

1
ওহ, সুন্দরভাবে গল্ফ! :)
শেগি

2

কাঠকয়লা , 34 28 21 বাইট

θJη⁰≔ΦKDLθ↓℅ιζUMζ§ζ⊖κ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ইনপুট হিসাবে স্ট্রিংগুলির একটি অ্যারে নেয়। 0-ইন্ডেক্স। সম্পাদনা: এখন PeekDirectionএটি স্থির হয়ে গেছে, আমি সরাসরি এটি পরিচালনা করতে পারি। ব্যাখ্যা:

θ

ইনপুট স্ট্রিং মুদ্রণ করুন।

Jη⁰

ঘোরার জন্য কলামের শীর্ষে যান।

≔ΦKDLθ↓℅ιζ

মুদ্রিত কক্ষগুলি বের করুন।

UMζ§ζ⊖κ

আগের মুদ্রিত কক্ষটি পূর্ববর্তী কক্ষের (চক্রাকারে) সাথে প্রতিস্থাপন করুন। সুবিধাজনকভাবে PeekDirectionকলের মানগুলি কল করার সময় পড়তে MapCommandপারা যায় যাতে কলটি কোষগুলিতে নতুন মান লেখার বিষয়টি বিবেচনা করে না।


1

পিপ -rn , 32 বাইট

POgY#(g@_)>aFI,#gFiyAE@ySsg@i@ag

0-ইনডেক্সড, নীচে ঘোরে। এটি অনলাইন চেষ্টা করুন!

ঘূর্ণন অংশ নিতে যথেষ্ট দীর্ঘ যে সমস্ত সারিগুলির সূচকগুলি খুঁজে পেতে ফিল্টারগুলি। তারপরে r সারিগুলির উপরে লুপ করে একটি অস্থায়ী ভেরিয়েবলের সাথে প্রতিটি সারিতে উপযুক্ত অক্ষরটি অদলবদল করে s। শেষে প্রথম সারিতে আবার দেখা হলে ডামি মানটি আবার ফিরে আসে।


1

জেলি , 19 বাইট

ZnÄ×$ịḟ¹ṙ-;ɗɗʋ€⁹¦⁶Z

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

1-ইন্ডেক্স। নীচে ঘোরে। একটি মোনাডিক লিঙ্ক যা জেলি স্ট্রিংয়ের একটি ডান-প্যাডযুক্ত তালিকা (অক্ষরের তালিকাগুলির তালিকা) এবং দ্বিতীয় হিসাবে কে হিসাবে যুক্ত করে। ডান প্যাডিং ব্যতীত ইনপুটটিতে স্পেসগুলি নিষিদ্ধ করা হয়েছে, তবে অন্য সমস্ত অক্ষরের অনুমতি রয়েছে।

টিআইও-তে কার্যকর হিসাবে, পাদচরণ একটি স্ট্রিং ইনপুটটিকে স্ট্রিংগুলির তালিকায় এবং এটিতে ডান-প্যাডগুলি বিভক্ত করে, তবে এটি সুবিধার জন্য; যেমনটি আমি এটি বুঝতে পারি, সেই পদক্ষেপের ফলাফলকে নিয়ম অনুযায়ী মূল লিঙ্কের জন্য ইনপুট অনুমোদিত।


1

জিফোর্টরান , 199 বাইট

-20 বা তাই স্ট্যান্ডিন থেকে ফাইলের চেয়ে পড়ে
-14 খালি স্থানগুলি অপসারণ করে -4 এর জন্য নিখুঁত পূর্ণসংখ্যা ব্যবহার i, k, nকরে এবং
::

ব্যবহারকারীকে ইনপুট করতে kএবং nপ্রথম লাইনে প্রয়োজন হয় যেখানে kকলামটি ঘোরানো হবে এবং nএটি পাঠ্যের সারিগুলির সংখ্যা। পরবর্তী ইনপুটগুলি ঘোরানো পাঠ্যের লাইন। এই লিখতে কষ্ট ছিল! ফোরট্রান এত প্যাডেন্টিক!

character(99),allocatable::A(:);character(1)r,s
read(*,*)k,n;allocate(A(n))
do i=1,n;read(*,'(A)')A(i);r=A(i)(k:k)
if(r.ne.''.or.r.ne.' ')then;A(i)(k:k)=s;s=r;endif;enddo
A(1)(k:k)=s;print'(A)',A;end

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