ইন্টারলিভ স্ট্রিং


30

প্রেরণা. * আমি বিশ্বাস করতে পারি না যে আমাদের আগে এই চ্যালেঞ্জটি ছিল না:

কার্য

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

উদাহরণ

SIMPLE দেয় SIMPLE

POLLSএবং EPEESদেয়PEOPLELESS

LYESএবং APRONSদেয়LAYPERSONS

ABCDEএবং a cএবং 123 567দেয়Aa1B 2Cc3D E567

"\n$?*এবং (খালি স্ট্রিং) এবং ,(.)" (পেছনের স্থান) দেয় ",\(n.$)?"* (পিছনের স্থান)


* সংক্ষিপ্ত এপিএল সমাধান রয়েছে।


যেহেতু এটি মূলত কেবল একটি ট্রান্সপোজ অপারেশন, আমাদের কয়েকটি চ্যালেঞ্জ ছিল যা খুব মিল, তবে সম্ভবত কোনওটিই হুবহু এক রকম নয়।
মার্টিন এন্ডার

7
আমার সিএস এইচডাব্লুতে আমার এই প্রশ্নটি ছিল, তার অর্থ কি আমি হোমওয়ার্কের প্রশ্ন হিসাবে এটি বন্ধ করতে পারি? ; পি
ডাউনগোট

পছন্দ করুন আমি আজ কিছু শিখেছি।
অ্যাডম

উত্তর:


23

জেলি , 1 বাইট

Z

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

"ট্রান্সপোজ" অন্তর্নির্মিত স্ট্রিংগুলির তালিকার সাথে এটি ঠিক করবে।


আমি কৌতূহলী, কোডটি যদি আপনার স্পেসগুলির সাথে সংক্ষিপ্ত স্ট্রিং প্যাড করতে হত তবে কেমন লাগবে?
অ্যাডম

2
হবে z⁶z"বাম স্থানান্তর, ডান দিয়ে প্যাডিং" হয়; একটি স্থান।
লিন

1
@ অ্যাডাম জেলি তালিকায় খুব ভাল কাজ করেন; বিল্ট-ইনগুলি শেষ করে এবং ভাষার নির্মাণ / নকশা কোথায় শুরু হয়?
স্টেইনবার্গ

1
@ লিন ইন জেলি? পরমাণু এবং কুইকের তালিকার যে কোনও কিছু হ'ল বিল্ট-ইনগুলি।
Adám

2
@ অ্যাডাম ;"(উপাদান অনুসারে কনটেন্টেশন ) কোনও বিল্ট-ইন ছাড়াই কাজটি সমাধান করবে।
ডেনিস

8

পাইথন 2, 101 89 86 69 বাইট

আমি প্রত্যাশা করছি যে এটি কোনওভাবে ল্যাম্বডায় canুকতে পারব, এটি পুনরাবৃত্ত করে এটিকে সংক্ষিপ্ত করে নামিয়ে দেব। এটি আদর্শ নয় কারণ আপনি আশা করবেন ট্রান্সপোসিংটি আরও কম হবে, দুর্ভাগ্যক্রমে এটি হয় না (যা আমি এ পর্যন্ত নিয়ে আসতে পেরেছি) তা নয়।

f=lambda s:' '*any(s)and''.join(x[:1]for x in s)+f([x[1:]for x in s])

পুরানো সমাধান:

w=input();o=''
while any(w):
 for i in range(len(w)):o+=w[i][:1];w[i]=w[i][1:]
print o

lambda s:''.join(''.join([c,''][c<' ']for c in x)for x in map(None,*[list(y)for y in s]))

w=input();o=''
while any(x>=' 'for x in w):
 for i in range(len(w)):o+=w[i][:1];w[i]=w[i][1:]
print o

আমাকে বোবা বোধ করার জন্য ম্যাথমান্ডানকে ধন্যবাদ;) আমাকে একগুচ্ছ বাইটস বাঁচিয়েছে! (পুরানো সমাধানে)


তুমি কি করতে পার না while any(w):? পাইথনের খালি স্ট্রিংগুলি মিথ্যা।
mathmandan

@ মাঠমান্ডান আপনি একেবারে ঠিক বলেছেন, আমি কী ভাবছিলাম তা জানেন না ..
কেডে

কোনও সমস্যা নেই :) আপনার নতুন সমাধানটি দুর্দান্ত দেখাচ্ছে, আমি মনে করি বাদে আপনার আগেই চাপ দেওয়া দরকার f=
mathmandan

আপনি []রিকার্সিভ কলটি বন্ধ করে নিতে পারেন f(x[1:] for x in s), যা এইটিকে একটি জেনারেটর বোধগম্য করে তোলে, যা এই প্রসঙ্গে তালিকার মতো একই কাজ করে।
বায়োওয়েসেল

8

পার্ল 6 , 34 32 বাইট

{[~] flat roundrobin |$_».comb}

{roundrobin(|$_».comb).flat.join}

একটি ল্যাম্বডা যা আর্গুমেন্ট হিসাবে স্ট্রিংগুলির অ্যারে নেয় এবং একটি স্ট্রিং প্রদান করে।

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


আমি এর @_পরিবর্তে ব্যবহার করতে পারতাম$_
ব্র্যাড গিলবার্ট বি

7

সিজেম , 4 বাইট

qN/z

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

আমরা 4 বাইটের জন্য একটি নামবিহীন ফাংশনও লিখতে পারি, যা স্ট্যাকের শীর্ষে স্ট্রিংগুলির একটি তালিকা প্রত্যাশা করে:

{zs}

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


2
এক মিনিট এক বাইট!
Adám

7

পাইথ - 3 বাইট

খুব সহজ, পরে মোবাইলে সম্প্রসারণ যুক্ত করবে।

s.T

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

s                         Join all the strings together
 .T                       Transpose, without chopping off overhang
  (Q implicit)

4
@ ড্যানিয়েল আমিও স্কুলে আছি: পি
মালটিসেন

ব্যাখ্যা যোগ করার বিষয়ে কোনও পরিকল্পনা?
জন ডিভোরাক

@ জনডভোরাক এখনই এটি নিশ্চিত করে রাখুন।
মালটিসেন

6

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

f=([[c,...s],...a])=>s+a?c+f(s+s?[...a,s]:a):c

একক স্ট্রিং হিসাবে স্ট্রিং এবং আউটপুটগুলির অ্যারের হিসাবে ইনপুট নেয়।

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

f=([[c,...s],...a])=>s+a?c+f(s+s?[...a,s]:a):c

g=a=>console.log("Input:",JSON.stringify(a),"Output:",JSON.stringify(f(a)))

g(["SIMPLE"])
g(["POLLS","EPEES"])
g(["LYES","APRONS"])
g(["ABCDE","a c","123 567"])
g(["\"\\n$?*",",(.)\" "]) // Backslash and quote are escaped, but in/output are correct


f=([[c,...s],...a])=>c?c+f([...a,s]):a+a&&f(a)
নীল

@ নীল এটি দুর্দান্ত পদ্ধতি। আমি আমার নিজের :-) থেকে 6 বাইট গল্ফ পরিচালনা করতে
পেরেছি

6

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

import Data.List
concat.transpose

আইডিয়নে চেষ্টা করে দেখুন। ব্যবহার:

Prelude Data.List> concat.transpose$["ABCDE","a c","123 567"]
"Aa1B 2Cc3D E567"

বিল্ট-ইন ব্যবহার না করে: ( 38 34 বাইট)

f[]=[]
f x=[h|h:_<-x]++f[t|_:t<-x]

আইডিয়নে চেষ্টা করে দেখুন। 4 বাইট অফ জাগার্বকে ধন্যবাদ! ব্যবহার:

Prelude> f["ABCDE","a c","123 567"]
"Aa1B 2Cc3D E567"

1
আপনি বিকল্প সংস্করণে সমস্ত প্যারেনগুলি সরাতে পারেন। তবুও আমদানিকে পরাজিত করবে না।
Zgarb

আপনার কি আসলে বেস কেস দরকার?
xnor

কিছু মনে করবেন না, অবশ্যই বেস কেস দরকার।
xnor

@ এক্সনর আপনি বেস কেসটি শেষ পর্যন্ত স্থানান্তর করতে পারবেন না এবং f a=aএকটি বাইট সংরক্ষণ করার জন্য এটি প্রতিস্থাপন করতে পারবেন না কারণ উভয়েরই []আলাদা ধরণের রয়েছে ... এত কাছে।
লাইকনি

5

সি, 114 84 বাইট

দৈর্ঘ্য গণনা না করার জন্য -20 বাইট।

i,b;f(char**s){b=1;while(b){i=-1;b=0;while(s[++i]>0)if(*s[i])putchar(*s[i]++),++b;}}

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

অবহেলিত এবং ব্যবহার:

i,b;f(char**s){
 b=1;
 while(b){
  i=-1;
  b=0;
  while(s[++i]>0)
   if(*s[i])
    putchar(*s[i]++),++b;
 }
}


int main(){
 char*a[]={ 
//  "POLLS","EPEES"
//  "LYES","APRONS"
 "ABCDE","a c","123 567"
 ,0};
 f(a);
 puts("");
}

প্রিন্টফ / স্প্রিন্টফ ব্যবহারের অনুমতি নেই? : ডি আপনি বেশ কিছু বাইট জিততে হবে।
ওয়ালফ্র্যাট

@ ওয়ালফ্রাট সরাসরি প্রিন্ট না করে আমাকে একটি স্ট্রিং বরাদ্দ করতে হবে, যাতে এটি কীভাবে কিছু বাঁচাতে পারে।
কার্ল ন্যাপ্ফ

এটি আপনার সম্পাদনার আগে যেখানে আপনি ++ বি যুক্ত করেছিলেন এবং দৈর্ঘ্য গণনা সরিয়েছিলেন, তাই হ্যাঁ আর কাজ করতে পারে না।
ওয়ালফ্র্যাট

@ ওয়ালফ্র্যাট হ্যাঁ, তবে আমার একটি ছিল mallocএবং returnআগে ছিল এবং এটি কেবল ছাপার চেয়ে দীর্ঘ ছিল
কার্ল ন্যাপফ

5

পিএইচপি, 68 67 বাইট

for(;$f=!$k=$f;$i++)for(;y|$v=$argv[++$k];$f&=""==$c)echo$c=$v[$i];

কমান্ড লাইন আর্গুমেন্ট উপর লুপ। সাথে চালাও -r

ভেতরের লুপ পর $fহয় 1যখন সমস্ত স্ট্রিং সমাপ্ত করা হয়, 0আর (, bitwise &কাস্ট ""==$cint- এ)।
বাইরের লুপের পরবর্তী পুনরাবৃত্তি: অনুলিপি $fকরুন $k(একটি থেকে বাইট সংরক্ষণ করুন $k=0) এবং টগল করুন $f:
যখন সমস্ত স্ট্রিং হয়ে যায়, $fএখন হয় falseএবং লুপটি ভেঙে যায়।


খালি ইনপুট স্ট্রিং দিয়ে কাজ করে না। শেষ
টেস্টকেসটি

@ আরস: স্থির ধন্যবাদ।
তিতাস

4

রেটিনা , 13 বাইট

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

O$#`.
$.%`
¶

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

ব্যাখ্যা

O$#`.
$.%`

এটি রেটিনার মানক স্থানান্তর কৌশলের উপর ভিত্তি করে। আমরা ( O) সমস্ত অ-লাইনফিড অক্ষর ( .), ( ) দ্বারা $#তাদের সামনে একই লাইনে ( $.%`), অর্থাৎ তাদের অনুভূমিক অবস্থান অনুসারে বাছাই করি।

দ্বিতীয় পর্যায়ে এরপরে ইনপুট থেকে লাইনফিডগুলি সরানো হয়।


4

জাভা, 19 + 155 = 174 160

String f(java.util.Queue<String> q){String s,r="";while(!q.isEmpty()){s=q.poll();r+=s.isEmpty()?"":s.charAt(0);if(s.length()>1)q.add(s.substring(1));}return r;}

Ungolfed:

  String f(java.util.Queue<String> q) {
    String s, r = "";
    while (!q.isEmpty()) {
      s = q.poll();
      r += s.isEmpty() ? "" : s.charAt(0);
      if (s.length() > 1) {
        q.add(s.substring(1));
      }
    }
    return r;
  }

আউটপুট:

সহজ

PEOPLELESS

LAYPERSONS

Aa1B 2Cc3D E567

", (এন। $)?" *

প্রথম পরিবর্তন: কিছু বাইট সংরক্ষণ করার জন্য মার্জ করা স্ট্রিং ঘোষণা। সরানো হয়েছে import, এটি প্রয়োজনীয় main()পদ্ধতি দ্বারা ব্যবহৃত হয়েছিল (এখানে দেখানো হয়নি) যা প্রয়োজনও LinkedListQueueসরাসরি রেফারেন্স করা কম বাইটস ।


স্ট্রিং আর এর সাহায্যে স্ট্রিং গুলি আরম্ভ করুন আরও কয়েকটি সঞ্চয় করতে পারে
সিয়ামেশ কে

আমি জানি এটি প্রায় এক বছর আগে হয়েছে, তবে আপনি কয়েকটি বাইট গল্ফ করতে পারেন:String f(java.util.Queue<String>q){String s,r="";for(;!q.isEmpty();r+=s.isEmpty()?"":s.charAt(0))if((s=q.poll()).length()>1)q.add(s.substring(1));return r;}
কেভিন ক্রুইজসেন

3

পিএইচপি, 77 বাইট

Golfed

function($a){for($d=1;$d!=$s;$i++){$d=$s;foreach($a as$v)$s.=$v[$i];}echo$s;}

বেনামে ফাংশন যা স্ট্রিংগুলির অ্যারে নেয়।

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

আমি মনে করি এর ব্যবহার $dআরও গল্ফ করা যেতে পারে তবে এটি প্রথম দিকে। : P: P


আপনি কীভাবে একক যুক্তিতে স্ট্রিংগুলির অ্যারে রাখবেন?
তিতাস

@Titus। হ্যাঁ, আমি সত্যিই এটি সম্পর্কে কখনই ভাবিনি। আমি ঠিক কিন্ডা ধরে নিয়েছি তুমি পারো।
Xenderhall

3

আসলে , 7 6 বাইট

গল্ফিং পরামর্শ স্বাগত! এটি অনলাইন চেষ্টা করুন!

সম্পাদনা করুন: -1 বাইট টিল পেলিকানকে ধন্যবাদ

a Z♂ΣΣ

Ungolfing

          Implicit input each string.
a         Invert the stack so that the strings are in the correct order.
<space>   Get the number of items on the stack, len(stack).
Z         Zip all len(stack) strings into one, transposing them.
♂Σ        sum() every transposed list of chars into strings.
Σ         sum() again to join the strings together.

আপনি কি এটি # বাইট তৈরি করতে # সরাতে পারবেন না?
টেল পেলিকান

Welp @Tealpelican, এখন আমি আমার পুরোনো বাস্তবিক উত্তর সব দিয়ে খনন কর এবং দেখ যদি আমি পরিবর্তন করতে পারবেন না আছে যাচ্ছি Z♂#Σকরার Z♂Σতাদের সব হবে। টিপটির জন্য ধন্যবাদ: ডি
শার্লক

প্রথমবারের মতো ভাষাটির দিকে তাকাতে, এতো মজা লাগে! খুশী আমি সাহায্য করতে পারি :))
টিল পেলিকান



2

জে , 13 বাইট

({~/:)&;#\&.>

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

এই প্রশ্নের অনুপ্রেরণার ভিত্তিতে ।

এটি করার আরেকটি উপায় 27 বাইট লাগে তবে ট্রান্সপোজ ব্যবহার করে পরিচালনা করে। বেশিরভাগ বাইট হ'ল প্যাডিং থেকে স্বয়ংক্রিয়ভাবে যুক্ত শূন্যগুলি পরিচালনা করতে।

[:u:0<:@-.~[:,@|:(1+3&u:)&>

ব্যাখ্যা

({~/:)&;#\&.>  Input: list of boxed strings S
          &.>  For each boxed string x in S
        #\       Get the length of each prefix from shortest to longest
                 This forms the range [1, 2, ..., len(x)]
                 Rebox it
(    )         Operate on S and the prefix lengths
      &;         Raze both
   /:            Grade up the raze of the prefix lengths
 {~              Index into the raze of S using the grades
               Return

জে এর মিশ্রিত অ্যারেগুলিকে নিষিদ্ধ করা সত্যিই আপনাকে এখানে কষ্ট দেয়। এটি এপিএলে চেষ্টা করুন।
অ্যাডম

2

বাশ + জিএনইউ ইউটিলিটিস, 55

 eval paste `sed "s/.*/<(fold -1<<<'&')/g"`|tr -d \\n\\t

I / O STDIN (লাইন-বিচ্ছিন্ন) এবং STDOUT এর মাধ্যমে।

sedএকটি প্রতিটি লাইন ফরম্যাট ব্যাশ প্রক্রিয়া প্রতিকল্পন । এরপরে প্রকৃত ইন্টারলিভিংয়ের জন্য evalএড করা pasteহয়। trতারপরে অপ্রয়োজনীয় নিউলাইন এবং ট্যাবগুলি সরিয়ে দেয়।

Ideone।


2

পিএইচপি, 63 বাইট

দ্রষ্টব্য: আইবিএম -850 এনকোডিং ব্যবহার করে

for(;$s^=1;$i++)for(;n|$w=$argv[++$$i];$s&=$x<~■)echo$x=$w[$i];

এভাবে চালান:

php -r 'for(;$s^=1;$i++)for(;n|$w=$argv[++$$i];$s&=$x<~■)echo$x=$w[$i];' "\"\n\$?*" "" ",(.)\" " 2>/dev/null;echo
> ",\(n.$)?"* 

ব্যাখ্যা

for(                       # Iterate over string index.
  ;
  $s ^= 1;                 # Continue until $s (stop iterating) is 1.
                           # Flip $s so each iteration starts with $s
                           # being 1.
  $i++                     # Increment string index.
)
  for(
    ;
    "n" | $w=$argv[++$$i]; # Iterate over all input strings. OR with "n"
                           # to allow for empty strings.
    $s &= $x<~■            # If last character printed was greater than
                           # \x0 (all printable chars), set $s to 0,
                           # causing the loop to continue.
  )
    echo $x = $w[$i];      # Print char $i of current string.

আইবিএম-850 ?! এটি কি পিএইচপি-র প্রাকৃতিক এনকোডিং?
Adám

@ অ্যাডম "প্রাকৃতিক" বলতে কী বোঝ? পিএইচপি 128-255 সীমাতে বাইটগুলি পাঠ্য হিসাবে বিবেচনা করে, যার ফলে ধ্রুবক হিসাবে ব্যাখ্যা করা হয়। ধ্রুবকটি যদি অপরিজ্ঞাত হয় তবে এটি স্ট্রিং হিসাবে ব্যাখ্যা করা হবে। এটি তাই (বাইনারি 1) এর ~■পরিবর্তে (অবহেলিত বাইনারি 254) করতে পারি "\x1"
aross

1
আমি দেখি. এটি এমন নয় যে আপনার আসলে সেই কোডপেজের প্রয়োজন, আপনার কেবল 254 বাইট দরকার।
অ্যাডম

@ অ্যাডম হ্যাঁ, কোডপেজটি এটিকে কেবল একটি মুদ্রণযোগ্য চর তৈরি করে যা কিছুটা বিরক্তিকর।
aross

দুর্দান্ত ব্যবহার $$!
তিতাস

2

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

আমি জানি অন্য পাইথনটি একটির চেয়ে কম, তবে আমি জীবনে প্রথম ব্যবহার করেছি mapতাই এতে আমি বেশ গর্বিত

lambda n:''.join(i[k]for k in range(max(map(len,n)))for i in n if len(i)>k)

1

সি, 75 71 বাইট

শুধুমাত্র সীমাবদ্ধতা আউটপুট দৈর্ঘ্য। বর্তমানে এটি 99, তবে সহজেই 999 (+1 বাইট) পর্যন্ত প্রসারিত হতে পারে।

i;main(a,b)char**b;{a--;for(;i<99;i++)*b[i%a+1]&&putchar(*b[i%a+1]++);}

Ungolfed:

i;
main( a, b )
char **b;
{
    a--;
    for( ; i < 99; i++ )
        *b[i % a + 1] && putchar( *b[i % a + 1]++ );
}

1

ওরাকল এসকিউএল, 195 বাইট

    select listagg(b,'') within group(order by l,o) from(select substr(a,level,1) b,level l,o from i start with length(a)>0 connect by prior a=a and level<=length(a) and prior sys_guid() is not null)

iকলামগুলি a(স্ট্রিং সহ) এবং o(স্ট্রিংয়ের ক্রম ) সহ একটি টেবিল থেকে এটির ইনপুট নেয় :

    create table i (a varchar2(4000), a integer)

ব্যাখ্যা:
আমরা CONNECT BYপ্রতিটি চরিত্র তৈরির জন্য তারগুলি ভেঙে ফেলার চেষ্টা করছি । সুনিশ্চিত করা PRIOR SYS_GUID()হচ্ছে NOT NULLআমরা কোনও লুপে আটকে যাব না।
এরপরে আমরা একক অক্ষরগুলির সাথে একত্রীকরণ LISTAGGকরি তবে আমরা তাদেরকে একটি ORDER BYধারা দিয়ে চারদিকে বদলে ফেলি, মূল স্ট্রিংয়ে তাদের অবস্থান অনুসারে প্রথমে অর্ডার করি এবং কেবল তারপরে যে স্ট্রিংটি আসে সেগুলি দিয়ে।

অন্যান্য উত্তরের মতো সংক্ষিপ্ত নয় তবে এসকিউএল আসলে স্ট্রিং ম্যানিপুলেশন ভাষা হিসাবে বোঝানো হয়নি :)


1

পাইথন 2, 128 96

আমি আশা করছিলাম যে এরটুলগুলি ব্যবহার না করা উচিত

a=lambda a:"".join([i for i in reduce(lambda: b,c:b+c, map(None,*map(lambda m:list(m),a)) if i])

Ungolfed

 a=lambda a:                              #Start a lambda taking in a
    "".join(                              #Join the result together with empty string
        [i for i in reduce(               #For every item, apply the function and 'keep'
           lambda: b,c:b+c,               #Add lists from...
                map(None,*map(            #None = Identity function, over a map of...
                    lambda m:list(m), a)  #list made for mthe strings m
                   ) if i                 #truthy values only (otherwise the outer map will padd with None.
       ])

এটি উন্নত করার বিষয়ে প্রতিক্রিয়া / পরামর্শকে প্রশংসা করবে।
পিওরফেরেট


1

আর , 73 বাইট

for(i in 1:max(nchar(s<-scan(,""))))for(j in seq(s))cat(substr(s[j],i,i))

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

ব্যাখ্যা: খুব সরল (তবে ভার্বোজ), মাত্র স্ট্রিংয়ের iঅক্ষর মুদ্রণের মাধ্যমে লুপ করুন j। ভাগ্যক্রমে, substrসীমার বাইরে ইনপুট দেওয়া থাকলে একটি খালি স্ট্রিং দেয়।


0

পাইথন, 112 বাইট

i=len(x)if len(x)>len(y) else len(y) h=0 a="" while h<i: if h<len(x) a+=x[h] if h<len(y): a += y[h] h+=1 print a

6
আপনার ফর্ম্যাটিংটি সত্যিই গণ্ডগোল হয়েছে .. আপনি এমনকি কোথা থেকে পাবেন xএবং কোথা yথেকে পাবেন?
কেডে

0

পার্ল 5 , 53 বাইট

$i=0,map{push@{$a[$i++]},$_}/./g for<>;print@$_ for@a

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

পদ্ধতি

একটি দ্বিমাত্রিক অ্যারে তৈরি করে যেখানে সারিগুলির সংখ্যা দীর্ঘতম স্ট্রিংয়ের দৈর্ঘ্যের সমান এবং কলামগুলির সর্বাধিক সংখ্যার স্ট্রিংয়ের সংখ্যার সমান। তারপরে বিন্যাস ছাড়াই অ্যারের প্রতিটি সারি আউটপুট করুন।


0

টিএক্সআর লিস্প , 20 বাইট

(opip weave cat-str)

চালান:

1> (opip weave cat-str)
#<intrinsic fun: 0 param + variadic>
2> [*1 "LYES" "APRONS"]
"LAYPERSONS"
3> [*1 "ABCDE" "a c" "" "123 567"]
"Aa1B 2Cc3D E567"
4> [*1 "\"\\n$?*" "" ",(.) "]
"\",\\(n.$)? *"

weaveফাংশন অলস তাই এটি একটি তালিকা ফেরৎ যেই কারণে আমরা একটি স্ট্রিং ফলাফলের বাধ্য করতে হবে তা হল। অলস হওয়ার কারণে এটি অসীম ক্রমগুলি বুনতে পারে। উদাহরণস্বরূপ, আমরা সমান এবং বিজোড় প্রাকৃতিক সংখ্যাগুলি বুনতে পারি, যা তারা নিজেরাই অসীম অলস তালিকাগুলি:

5> (take 20 (weave (range 2 : 2) (range 1 : 2)))
(2 1 4 3 6 5 8 7 10 9 12 11 14 13 16 15 18 17 20 19)

0

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

সমাধান:

{`c$r@&~^r:,/+(`i$x)[;!#,/x]}

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

উদাহরণ:

> {`c$r@&~^r:,/+(`i$x)[;!#,/x]}("ABCDE";"a c";"123 567")
"Aa1B 2Cc3D E567"
> {`c$r@&~^r:,/+(`i$x)[;!#,/x]}("\n$?*";"";",(.)\" ")
"\n,$(?.*)\" "
> {`c$r@&~^r:,/+(`i$x)[;!#,/x]}("POLLS";"EPEES")
"PEOPLELESS"

ব্যাখ্যা:

সমস্ত ইনপুট তালিকা জুড়ে 0 থেকে সর্বোচ্চ (সমতল তালিকা দৈর্ঘ্য) সূচকগুলি টানতে 2 য় স্তরের সূচক ব্যবহার করুন। উপ-তালিকার সীমা ছাড়িয়ে থাকা যে কোনও সূচকগুলি একটি শূন্য ফেরত দেবে। ফ্লিপ (90 ঘোরা), সমতল এবং তারপরে নন-ফলাফলগুলি টেনে আনুন।

নোট:

  • আমি পূর্ণসংখ্যায় ( i$) কাস্ট করেছিলাম যাতে আমরা দরকারী নাল পেতে পারি, কারণ স্থান ( ) চার্ট তালিকার জন্য নাল হিসাবে বিবেচিত হয় যার অর্থ আপনি বৈধ স্থান থেকে নালকে বলতে পারবেন না।
  • এছাড়াও আমি টিআইওকে ইনপুট দিয়ে কাজ করতে পারাতে পারি নি (ওকে রিপ্লাইতে ভাল কাজ করেছেন) তাই টিআইও লিঙ্কটিতে "এবিসিডিই" ... উদাহরণ অন্তর্ভুক্ত রয়েছে।

0

Jq 1.5 , 49 বাইট

map(explode)|transpose|map(map(values)[])|implode

ব্যাখ্যা

                      # example input:          ["LYES","APRONS"]
  map(explode)        # make list of ordinals   [[76,89,69,83],[65,80,82,79,78,83]]
| transpose           # zip lists               [[76,65],[89,80],[69,82],[83,79],[null,78],[null,83]]
| map(map(values)[])  # rm nulls and flatten    [76,65,89,80,69,82,83,79,78,83]
| implode             # convert back to string  "LAYPERSONS"

নমুনা রান

$ paste input <(jq -Mrc 'map(explode)|transpose|map(map(values)[])|implode' input)
["SIMPLE"]                  SIMPLE
["POLLS","EPEES"]           PEOPLELESS
["LYES","APRONS"]           LAYPERSONS
["ABCDE", "a c", "123 567"] Aa1B 2Cc3D E567
["\"\\n$?*", "", ",(.)\" "] ",\(n.$)?"* 

$ echo -n 'map(explode)|transpose|map(map(values)[])|implode' | wc -c
  49    

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

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