মি দৈর্ঘ্যের এন স্ট্রিংগুলিকে এন দৈর্ঘ্যের এম স্ট্রিংগুলিতে রূপান্তর করুন


16

এমন একটি প্রোগ্রাম লিখুন যে, 'মি' দৈর্ঘ্যের যে কোনও 'এন' সংখ্যার স্ট্রিং দেওয়া হয়েছে, এই শর্তটি সহ 'এম' সংখ্যার 'এন' দৈর্ঘ্যের স্ট্রিং প্রদান করে:

প্রতিটি নতুন স্ট্রিংয়ে অন্য স্ট্রিংয়ের একই সূচীতে অক্ষর থাকা উচিত

উদাহরণস্বরূপ, প্রথম আউটপুট স্ট্রিংটিতে অবশ্যই সমস্ত ইনপুট স্ট্রিংয়ের প্রথম বর্ণ থাকতে হবে, দ্বিতীয় আউটপুট স্ট্রিংটিতে অবশ্যই সমস্ত ইনপুট স্ট্রিংগুলির দ্বিতীয় বর্ণ থাকতে হবে, এবং এ জাতীয়।

উদাহরণ (অক্ষরের নীচে সংখ্যাগুলি স্ট্রিংয়ের সূচী হয়):

input: "car", "dog", "man", "yay"
        012    012    012    012
output: "cdmy", "aoaa", "rgny"
         0000    1111    2222

input: "money", "taken", "trust"
        01234    01234    01234
output: "mtt", "oar", "nku", "ees", "ynt"
         000    111    222    333    444

ধরে নিন যে প্রতিবার ইনপুটটি সঠিক

সবচেয়ে কম বাইটের কোড জিতল!

সম্পাদনা:

যেহেতু অনেকগুলি প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে এবং সেগুলির প্রতিটিের জন্য অনেকগুলি সম্ভাব্য সমাধান হতে পারে, তাই প্রতিটি প্রোগ্রামিং ভাষা এবং এটি সরবরাহকারী ব্যবহারকারীর জন্য আমি সংক্ষিপ্ত সমাধান পোস্ট করব। কোডিং রাখুন!

পুনরায় সম্পাদনা:

ব্যবহারকারী ডেনিসকে ধন্যবাদ আমি লিডারবোর্ডগুলির জন্য একটি স্নিপেট sertedোকাল।


2
আমাদের কাছে একটি লিডারবোর্ড স্নিপেট রয়েছে যা আপনি আপনার প্রশ্ন শরীরে যুক্ত করতে পারেন। হাত দিয়ে তা করার দরকার নেই।
ডেনিস


আমি দুঃখিত, আমি জানতাম না যে এটিকে "ট্রান্সপোসিং" বলা হয়
ইনপুট নাম এখানে

6
আমি বিশ্বাস করি না যে এই চ্যালেঞ্জগুলি নকল, কারণ রাগযুক্ত স্থানান্তর এবং অন্য প্রশ্নে কিছু অদ্ভুত সাদা স্থান পরিচালনার সাথে জড়িত পার্থক্যের কারণে। কিছু ভাষায় উত্তরগুলি খুব একই রকম হতে পারে বলে আমি মনে করি বেশিরভাগ ক্ষেত্রে তারা এতটা আলাদা হবে যে এটি কোনও সদৃশ হওয়া উচিত নয়।
FryAmTheEggman

উত্তর:



9

পাইথন, 36 29 বাইট

zip(*s) স্থানান্তরিত প্রতিটি চরিত্রের টিপলগুলির একটি তালিকা প্রদান করে।

lambda s:map(''.join,zip(*s))

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


আউটপুট বলে "cdmy", "aoaa", "rgny", যা একটি তালিকা ["cdmy", "aoaa", "rgny"]বা একটি ("cdmy", "aoaa", "rgny")
টুপল

map(''.join,zip(*s))এছাড়াও স্ট্রিং রূপান্তরকরণের জন্য কাজ করে (কেবল পাইথন 2) এবং পাইথন 3 এর জন্য [*map(''.join,zip(*s))]আফাইক কাজ করে
মান ইঙ্ক

@ কেভিনলউ-নোটকেনি map(''.join,zip(*s))পাইথন 3 -এর জন্যও বৈধ - আমরা ডিফল্টরূপে তালিকার জায়গায় পুনরাবৃত্তকারী / জেনারেটরকে অনুমতি দিই।
মেগো



7

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

param($n)for($x=0;$n[0][$x];$x++){-join($n|%{$_[$x]})}

ইয়ো ... না map, না zip, না transpose, ইত্যাদি, তাই আমরা আমাদের নিজস্ব রোল করতে পারি। 12-বাইট গল্ফের জন্য ডার্থটওয়ানকে বড় প্রপস

ইনপুট নেয় $n, একটি forলুপ সেট আপ করে । প্রারম্ভিককরণটি সেট $xকরে 0, পরীক্ষাটি আমাদের শব্দের মধ্যে এখনও অক্ষর রয়েছে কিনা $n[0][$x]এবং আমরা $x++প্রতিটি পুনরাবৃত্তি বৃদ্ধি করি ।

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

PS C:\Tools\Scripts\golfing> .\convert-n-strings.ps1 "Darth","-Twon","Rocks"
D-R
aTo
rwc
tok
hns

1
ভাল, আমি দেখতে চাই এমন উত্তরগুলির মতো এটি;) ,উত্তরের সম্পর্কে চিন্তা না করে এটি খুব সাধারণ লেখা
ইনপুট নেম এখানে

যখন একটি লুপ ব্যবহার আরও শর্ত থাকে যে নিচে pare করতে পারেন: param($n)$x=0;while($n[0][$x]){-join($n|%{$_[$x]});$x++}। এবং এখানে কোনও ত্রুটি নেই: ডি
ThePoShWolf

নিবন্ধন করুন অথবা, forঅন্য দু'জনের জন্য একটি লুপ ব্যবহার করুন। ;-)
অ্যাডমবর্কবার্ক

হুম ... আমি চেষ্টা করেছিলাম, কিন্তু আমার whileলুপটি কেটে ফেলার পরে না । ভালো কাজ স্যার!
ThePoShWolf

আপনি কি পাওয়ারসেল-এ লিনক ব্যবহার করতে পারেন?
কোডিসডটকম.কম

7

ভিম, 37 36 টি কীস্ট্রোক

অন্যান্য সমস্ত উত্তর বিরক্তিকর, এবং একা-বাইট বিল্টিন বোরিং ব্যবহার করে। একটি হ্যাকি উত্তর এখানে পুরোপুরি ম্যানুয়ালি করে এমন কিছুতে যা এমনকি কোনও প্রোগ্রামিং ভাষাও নয়:

Gmaqqgg:s/./&<cr>d<C-v>`aGo<esc>pvGgJ@qq@q`adgg

ব্যাখ্যা:

G                                   "move to the end of this line
     ma                             "And leave mark 'a' here
       qq                           "Start recording in register 'q'
         gg                         "Move to the beginning
           :s/./&<cr>               "Assert that there is atleast one character on this line
                      d             "Delete
                       <C-v>        "Blockwise
                            `a      "Until mark 'a'

    G                               "Move to the end of the buffer
     o<esc>                         "Open a newline below us
           p                        "And paste what we deleted
            vG                      "Visually select everything until the end
              gJ                    "And join these without spaces
                @q                  "Call macro 'q'. The first time, this will do nothing,
                                    "The second time, it will cause recursion.
                  q                 "Stop recording
                   @q               "Call macro 'q' to start it all

এখন, সবকিছু ভাল, তবে বাফারের কিছু অতিরিক্ত পাঠ্য বাকী রয়েছে। সুতরাং আমাদের অবশ্যই:

`a                              "Move to mark 'a'
  dgg                           "And delete everything until the first line



4

রেটিনা , 45 43 বাইট

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

O$#`.(?<=(.+))|¶
$.1
!`(?<=(¶)+.*)(?<-1>.)+

শীর্ষস্থানীয় লাইনফিড তাৎপর্যপূর্ণ। ইনপুট এবং আউটপুট হ'ল প্রিন্টযোগ্য এএসসিআইআই স্ট্রিংয়ের লাইনফিড-টার্মিনেটেড তালিকাগুলি (নোট করুন যে উভয়েরই একক ট্রেলিং লাইনফিড রয়েছে)।

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

আমি কিছুক্ষণের জন্য জানতাম যে আয়তক্ষেত্রাকার ব্লকগুলি স্থানান্তরিত করা রেটিনার ক্ষেত্রে ব্যথা হয়ে উঠবে (যেখানে স্কোয়ারগুলি স্থানান্তর করা খুব খারাপ নয়) তবে বাস্তবে কখনও চেষ্টা করা হয়নি। প্রথম সমাধানটি ছিল প্রকৃতপক্ষে ১১০ বাইট দীর্ঘ, তবে পদ্ধতির বেশ কয়েকটি উল্লেখযোগ্য পরিবর্তনের পরে, ফলস্বরূপ 45 বাইটগুলি আমার সন্দেহের তুলনায় এতটা খারাপ নয় (তবে এখনও ...)। ব্যাখ্যা আগামীকাল অনুসরণ করা হবে।

ব্যাখ্যা

মঞ্চ 1: বাছাই করুন

O$#`.(?<=(.+))|¶
$.1

এটি ইনপুটটিতে অক্ষরগুলিকে পুনরায় সাজানোর মূল কাজটি করে তবে এটি পৃথকীকরণগুলিকে লাইনে বিভ্রান্ত করে। মজার বিষয় হল, আমরা যদি অপসারণ করি তবে আমরা একটি বর্গ ইনপুট স্থানান্তর করার জন্য প্রয়োজনীয় কোডটি পাই।

Oএই ধরণের কাজগুলি পর্যায়ক্রমে সাজান (এর দ্বারা চিহ্নিত ): তারা প্রদত্ত রেজেক্সের সমস্ত মিল খুঁজে পায় ( `তারপরে জিনিসটি ) এবং তারপরে এই ম্যাচগুলি বাছাই করে এবং ম্যাচগুলি যেখানে খুঁজে পাওয়া যায় সেগুলিতে পুনরায় সন্নিবেশ করান। এটি হওয়ার সাথে সাথে, এই রেজেক্সটি প্রতিটি একক চরিত্রের সাথে মেলে: .(?<=(.*))বিকল্পের মাধ্যমে নন-লাইনফিড এবং মাধ্যমে লাইনফিড । সুতরাং, এটি ইনপুট সমস্ত অক্ষর বাছাই। আরও আকর্ষণীয় অংশটি সেগুলি অনুসারে বাছাই করা হয়

$বিকল্প সক্রিয় একটি "সাজানোর বাই" মোড, যেখানে প্রতিটি ম্যাচ দ্বিতীয় লাইন, যা ম্যাচ তুলনা জন্য ব্যবহার করা হয় উপর প্রতিকল্পন প্যাটার্ন সঙ্গে প্রতিস্থাপিত হয়। তদ্ব্যতীত, #রেটিনাকে প্রতিস্থাপনের ফলাফলটিকে পূর্ণসংখ্যার সাথে রূপান্তর করতে এবং সেই সংখ্যাগুলির তুলনা করতে হবে (তাদের পরিবর্তে স্ট্রিং হিসাবে বিবেচনা করার পরিবর্তে)।

সুতরাং পরিশেষে, আমাদেরকে রেগেক্স এবং বিকল্পটির দিকে নজর দেওয়া দরকার। যদি প্রথম বিকল্প ম্যাচ হয় (যেমন আমরা লাইনগুলির মধ্যে একটির সাথে কোনও অক্ষরের সাথে মিল রেখেছি), তবে সেই (?<=(.*))অক্ষরের সমস্ত কিছু দলে দলে নিয়ে যায় 1$.1প্রতিকল্পন প্যাটার্ন সঙ্গে এই প্রতিস্থাপন দৈর্ঘ্য দলের 1। সুতরাং, প্রতিটি স্ট্রিংয়ের প্রথম অক্ষর হয়ে ওঠে 1, দ্বিতীয়টি হয়ে যায় 2, তৃতীয়টি হয়ে যায় 3এবং আরও অনেক কিছু। এটি এখন পরিষ্কার হওয়া উচিত যে এটি কীভাবে বর্গক্ষেত্রের ইনপুটটি স্থানান্তর করে: লাইনের সমস্ত প্রথম অক্ষর প্রথম আসে এবং সমস্তটি শীর্ষ-সারিতে শেষ হয়, তারপরে সমস্ত দ্বিতীয় অক্ষর দ্বিতীয় লাইনে শেষ হয় এবং এই জাতীয়। তবে এই আয়তক্ষেত্রাকার ইনপুটগুলির জন্য, আমরা লাইনফিডগুলিও মেলাচ্ছি। গ্রুপ থেকে1এই ক্ষেত্রে অব্যবহৃত হয়, বিকল্পটি খালি, তবে #বিকল্পের উদ্দেশ্যে, এটি বিবেচনা করা হয় 0। তার মানে, সমস্ত লাইনফিড সামনের দিকে সাজানো হয়।

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

দ্বিতীয় পর্যায়: ম্যাচ

!`(?<=(¶)+.*)(?<-1>.)+

আমাদের এখন অক্ষরগুলি সঠিক দৈর্ঘ্যের লাইনে বিভক্ত করতে হবে। এই দৈর্ঘ্যটি মূল ইনপুটটিতে রেখার সংখ্যার সাথে মিলে যায়, যা স্ট্রিংয়ের শুরুতে লাইনফিডগুলির সংখ্যার সাথে সাদৃশ্যপূর্ণ।

বিভাজনটি এখানে ম্যাচের মঞ্চের সাহায্যে করা হয়েছে, যা প্রদত্ত রেইগেক্সের সমস্ত ম্যাচ সন্ধান করে এবং !সেই ম্যাচগুলি মুদ্রণের জন্য বিকল্পটি ব্যবহার করে (পরিবর্তে ডিফল্ট হবে সেগুলি গণনা করা)। তাই রেজেসের লক্ষ্য হ'ল এক সাথে এক লাইনের সাথে মিল।

আমরা লুকের পিছনে নম্বরটি "গণনা" করে শুরু করি (?<=(¶)*.*)। এটি 1সামনের প্রতিটি লাইনফিডের জন্য গ্রুপে একটি ক্যাপচার জেনারেট করে।

তারপরে, এই ক্যাপচারগুলির প্রত্যেকের জন্য আমরা একটি একক চরিত্রের সাথে মেলে (?<-1>.)+


4

x86 মেশিন কোড, 19 বাইট

হেক্সে:

fc89d35651a401dee2fb91aa595e464a75f1c3

ইনপুট: ECXস্ট্রিংগুলির # টি (এন) EDX,: পৃথক স্ট্রিংয়ের দৈর্ঘ্য (মি) ESI,: ইনপুট স্ট্রিংগুলির অ্যারে EDI: আউটপুট বাফার স্ট্রিংয়ের অ্যারে গ্রহণ করে। অ্যারেটি char src[n][m+1]ইনপুট এবং char dst[m][n+1]আউটপুট হিসাবে সংজ্ঞায়িত হিসাবে গণ্য করা হয় , এবং সমস্ত স্ট্রিং নাল-সমাপ্ত হয়।

0:  fc                  cld
1:  89 d3               mov ebx,edx   ;EDX is the counter for the outer loop
_outer:
3:  56                  push esi
4:  51                  push ecx
_inner:
5:  a4                  movsb         ;[EDI++]=[ESI++]
6:  01 de               add esi,ebx   ;Same char, next string
8:  e2 fb               loop _inner   ;--ECX==0 => break
a:  91                  xchg eax,ecx  ;EAX=0
b:  aa                  stosb         ;NULL-terminate just completed string
c:  59                  pop ecx
d:  5e                  pop esi       ;First string,
e:  46                  inc esi       ;...next char
f:  4a                  dec edx
10: 75 f1               jnz _outer
12: c3                  ret

3

ব্র্যাচল্যাগ , 5 বাইট

z:ca.

ইনপুট হিসাবে স্ট্রিংগুলির একটি তালিকা প্রত্যাশা করে, যেমন run_from_atom('z:ca.',["money":"taken":"trust"],Output).

ব্যাখ্যা

z       Zip the strings in the Input list
 :ca.   output is the application of concatenation to each element of the zip


2

সিজেম , 3 বাইট

{z}

এটি একটি কোড ব্লক (একটি ফাংশনের সমতুল্য; ডিফল্টরূপে অনুমোদিত ) যা স্ট্যাকের ইনপুটটি প্রত্যাশা করে এবং স্ট্যাকের আউটপুট ছেড়ে দেয়।

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



1
@ ড্রগ্রিনিজেগস্যান্ডিরনমন ভাল, আরও ভোটের জবাব বলে যে ডিফল্টটি "প্রোগ্রাম বা ফাংশন" হওয়া উচিত
লুইস মেন্ডো

2

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

a=>[...a[0]].map((n,x)=>a.map(a=>a[x]).join``)

আমি বোধ করি, জিপ ফাংশনটিতে আমাদের কোনও বিল্ট নেই। আমার টাইপ ত্রুটি নির্দেশ করার জন্য নিকেল ধন্যবাদ।

ব্যবহার

(a=>[...a[0]].map((n,x)=>a.map(a=>a[x])))(["asd","dsa"]); //or whatever is above, might change due to edits

আয়

["ad","ss","da"]

ব্যতিক্রম: TypeError: a [0]। ম্যাপ কোনও ফাংশন নয়
edc65

1
আপনার দরকার [...a[0]].map, যেহেতু a[0]কোনও অ্যারে নয়।
নিকেল

@ এনিকায়েল ধন্যবাদ প্রকারের মধ্যে বিশৃঙ্খলা। এটি প্রমাণ করে যে আমাকে কেন খুব সকালে এই গল্ফ করা উচিত নয়।
charredgrass

@nicael .joinএই সমস্যাটি সমাধানের জন্য আমি এগুলি সম্পাদনা করেছি ।
charredgrass

1
join`` পরিবর্তে join('')2 বাইট সংরক্ষণ করুন।
ডাউনভোট

2

বাশ + বিএসডি ইউটিলিটিস, 27

sed s/./\&:/g|rs -c: -g0 -T

I / O STDIN / STDOUT নিউলাইন-পৃথক স্ট্রিংয়ের মাধ্যমে।

আপনার rsসাথে ইনস্টল করতে sudo apt install rsবা অনুরূপ হতে পারে । ওএস এক্স-এর বাক্সের বাইরে কাজ করে

-Tবিকল্প rsপক্ষান্তরণ ভারী উত্তোলন করে। বাকিগুলি কেবল বিন্যাসকরণ:

  • sedকমান্ড কেবল সন্নিবেশ :প্রতিটি ভাষার প্রতিটি অক্ষরের পর
  • -c:ইনপুট কলামগুলি :পৃথক করা হয়েছে তা নির্দিষ্ট করে
  • -g0 আউটপুট কলামগুলিকে শূন্য প্রস্থের পৃথকীকরণ নির্দিষ্ট করে

যদি rsম্যানপেজটি আমার পড়া সঠিক হয় তবে নিম্নলিখিত 12 স্কোরের জন্য কাজ করা উচিত , তবে দুর্ভাগ্যক্রমে এটি কার্যকর হয় না - নীচের নোটটি দেখুন:

rs -E -g0 -T

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

$ printf "%s\n" car dog man yay |sed s/./\&:/g|rs -c: -g0 -T
cdmy
aoaa
rgny
$

যদি ইনপুটটি সমস্ত মুদ্রণযোগ্য ASCII হিসাবে প্রত্যাশিত হয়, তবে এটি :কিছু অপ্রিনিত অক্ষর, উদাহরণস্বরূপ 0x7 দ্বারা প্রতিস্থাপিত হতে পারে BEL


বিঃদ্রঃ

আমি বুঝতে চেয়েছিলাম কেন আমি -Eকাজ করার বিকল্পটি এবং sedপ্রিপ্রসেসিং থেকে মুক্তি পেতে পারি না । আমি rsএখানে উত্স কোড খুঁজে পেয়েছি । আপনি দেখতে পাচ্ছেন, এই বিকল্পটি দেওয়া ONEPERCHARপতাকাটি সেট করে । তবে কোডটিতে এমন কিছুই নেই যা প্রকৃতপক্ষে এই পতাকাটির অবস্থাটি পরীক্ষা করে। সুতরাং আমি মনে করি যে আমরা বলতে পারি যে বিকল্পটি নথিভুক্ত হওয়া সত্ত্বেও এটি কার্যকর করা হয়নি।

আসলে, এই বিকল্পটি লিনাক্স rsম্যানপেজে নথিভুক্ত করা হয়েছে :

-আমরা ইনপুট প্রতিটি অক্ষর অ্যারে এন্ট্রি হিসাবে বিবেচনা।

তবে ওএস এক্স সংস্করণ নয়।


2

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

function f($a){foreach($a as$s)foreach(str_split($s)as$i=>$c)$y[$i].=$c;return$y;}

স্ট্রিংগুলির একটি অ্যারের গ্রহণ করে এবং প্রদান করে

ভাঙ্গা

function f($a)
{
    foreach($a as$s)                    // loop through array $a
        foreach(str_split($s)as$i=>$c)  // split string to array, loop through characters
            $y[$i].=$c;                 // append character to $i-th result string
    return$y;
}

উদাহরণ

$samples=[
    ["asd","dsa"], ["ad","ss","da"],
    ["car", "dog", "man", "yay"], ["cdmy", "aoaa", "rgny"],
    ["money", "taken", "trust"], ["mtt", "oar", "nku", "ees", "ynt"]
];
echo '<pre>';
while ($samples)
{
    echo '<b>in:</b> ';         print_r($x=array_shift($samples));
    echo '<b>out:</b> ';        print_r(f($x));
    echo '<b>expected:</b> ';   print_r(array_shift($samples));
    echo '<hr>';
}

2

এপিএল, 3 বাইট

↓⍉↑

ইনপুট স্ট্রিং নেয় এবং এগুলিকে একটি চর ম্যাট্রিক্সে পরিণত করে। ম্যাট্রিক্স স্থানান্তর। ফলাফলের ম্যাট্রিক্সের সারিগুলিকে স্ট্রিংয়ে বিভক্ত করে।



1

গণিত, 26 বাইট

""<>#&/@(Characters@#)&

বেনামে ফাংশন। ইনপুট হিসাবে একটি স্ট্রিং তালিকা নেয় এবং আউটপুট হিসাবে একটি স্ট্রিং তালিকা প্রদান করে। ইউনিকোড অক্ষরটি ইউ + এফ 3 সি 7 প্রতিনিধিত্ব করে \[Transpose]। একটি অক্ষর ম্যাট্রিক্সে রূপান্তর করে, স্থানান্তর করে এবং একটি স্ট্রিং তালিকায় ফিরে রূপান্তর করে কাজ করে। যদি ইনপুট / আউটপুট ফর্ম্যাটটি প্রসারিত করা হয় তবে একটি সাধারণ 5 বাইট ট্রান্সপোজ কাজ করবে:

#&

+1 আপনি আমাকে ঘুষি মারলেন! (তবে আমি ট্রান্সপোজ চিহ্নটি ব্যবহার করতে সক্ষম হইনি?) যাইহোক, কেন টি স্ক্রিনে প্রদর্শিত হচ্ছে না? (আমি যখন আপনার কোডটি ম্যাথামেটিকায় অনুলিপি করি তখন এটি উপস্থিত থাকে)।
ডেভিডসি

@ ডেভিডসি ইউনিকোড অক্ষরটি বেসরকারী ব্যবহারের ক্ষেত্রের মধ্যে রয়েছে, যা মালিকানাধীন চরিত্রগুলির জন্য একটি বিভাগ হিসাবে চিহ্নিত এবং তাই বেশিরভাগ ফন্টে আনুষ্ঠানিকভাবে একটি গ্লাইফ বরাদ্দ করা হয় নি বা রেন্ডারও করা হয় না। গণিতের ফন্টটি কেবল এই চরিত্রটিকে সুপারসার্ক্রিপ্ট টি হিসাবে রেন্ডার করতে এবং এটি একটি হিসাবে ব্যাখ্যা করার জন্য ঘটে \[Transpose]
LegionMammal978

@ ডেভিডসি তারা কেন ব্যবহার করবেন না ?
15

@ অ্যাডেম আইডিকে, আপনাকে ওল্ফ্রাম রিসার্চ সম্পর্কে জিজ্ঞাসা করতে হবে, আমাকে নয়
LegionMammal978

@ লেজিমনম্মল ৯78৮ না, আমি যতক্ষণ এপিএল প্রকাশ পেয়েছি ততক্ষণ আমি খুশি
অ্যাডম

1

ম্যাটল্যাব / অষ্টাভ, 4 বাইট

@(x)x'

এটি একটি বেনামী ফাংশন সংজ্ঞায়িত করে। ইনপুট ফর্ম্যাট হয় ['car'; 'dog'; 'man'; 'yay']

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


এই সমাধানের জন্য ইনপুটটি কী ফর্ম্যাট? আমি মনে করি না এটা উপায় মতলব স্ট্রিং হ্যান্ডলগুলি সঙ্গে কাজ করবে যদি আপনি একটি Matlabby ভাবেই তাদের ইনপুট করার চেষ্টা করুন, যেমন না f = @(x)x',f([{'abcd'},{'abcd'},{'abcd'}]) = 'abcd' 'abcd' 'abcd'
সিনট্যাক্স

@ সিন্ট্যাক্স ইনপুট ফর্ম্যাটটি উত্তরের সাথে সংযুক্ত উদাহরণ হিসাবে 2D চর অ্যারে হওয়া উচিত। আপনি স্ট্রিংগুলির একটি সেল অ্যারে ব্যবহার করছেন (সিঙ্গলটন সেল অ্যারেগুলি সংঘবদ্ধ করে প্রাপ্ত)। এটা করা উচিত:f(['abcd';'abcd';'abcd'])। আমি ইনপুট ফর্ম্যাটটি নির্দিষ্ট করার জন্য উত্তরটি সম্পাদনা করেছি
লুইস মেন্ডো

1

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

f l=zipWith($)[map(!!n)|n<-[0..]]$l<$l!!0

বা আরও কিছু বাতাস সহ:

f l = zipWith ($) [map (!! n) | n <- [0..]] $
                  l <$ (l !! 0)

দ্বিতীয় তালিকাটি "শব্দের দৈর্ঘ্য" সময়ের পুনরাবৃত্তি হওয়া শব্দের তালিকা। শব্দের প্রতিটি তালিকায় আমরা ফলাফল দিয়ে প্রতিটি শব্দের এন-তম বর্ণটি নির্বাচন করি।


1
একটি পূর্ণ প্রোগ্রামের প্রয়োজন নেই, কারণ "প্রোগ্রাম" এর অর্থ "প্রোগ্রাম বা ফাংশন" , সুতরাং একটি ফাংশন যথেষ্ট। আপনি পাস করতে পারেন এবং আসতে স্ট্রিং একটি তালিকা এবং সেইজন্য বর্জন wordsএবং unwords। আরও, map(\_->l)(l!!0)হয় l<*l!!0, তাই এটি নিচে ফুটন্ত \l->zipWith($)[map(!!n)|n<-[0..]]$l<$l!!0
নিমি

ওহ, শুভ ধন্যবাদ :) আমি আপডেট করছি।
villou24

ওহো, টাইপো: এটি l<$l!!0(প্রথমবার ভুল, দ্বিতীয়বার ঠিক) তবে এটি আপনি ঠিকই পেয়েছেন got
নিমি

1

কমন লিস্প, 62 বাইট

(lambda(s)(apply'map'list(lambda(&rest x)(coerce x'string))s))

mapফাংশন একটি ফলাফলের প্রকার (এখানে লাগে list), একটি ফাংশন আবেদন এবং এক বা একাধিক সিকোয়েন্স থেকে S1 , ..., SN । সমস্ত ক্রম সমান্তরালে পুনরাবৃত্তি হয়। এই অনুক্রমগুলি থেকে নেওয়া প্রতিটি উপাদানের (e1, ..., এন) জন্য , আমরা কল করি (f e1 ... en) এবং ফলাফলটি পছন্দসই ধরণের ক্রমানুসারে জমা হয়।

আমরা স্ট্রিংগুলির একটি তালিকা নিই, বলি ("car" "dog" "man" "yay")এবং applyকল করতে ব্যবহার করি map। আমাদের এটি করতে হবে যাতে ইনপুট তালিকাটি আরও আর্গুমেন্ট হিসাবে ব্যবহৃত হয় map। আরও স্পষ্টভাবে, এটি:

(apply #'map 'list fn '("car" "dog" "man" "yay"))

... এর সমতুল্য:

(map 'list f "car" "dog" "man" "yay")

এবং যেহেতু স্ট্রিংগুলি সিক্যুয়েন্স হয় তাই আমরা সমস্ত প্রথম অক্ষর, তারপরে সমস্ত দ্বিতীয় অক্ষর ইত্যাদির সমান্তরালে পুনরাবৃত্তি করি ... উদাহরণস্বরূপ, প্রথম পুনরাবৃত্তি কলগুলি নিম্নরূপ:

(f #\c #\d #\m #\y)

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



0

রুবি, 46 বাইট

প্রসেসিংয়ের আগে স্ট্রিংগুলিকে অ্যারেতে ম্যাপ করতে হয়েছিল বলে সম্ভবত "রুবি স্ট্রিংগুলি এনুম্যুয়্যারেবলস নয়" আসলে আমাকে প্রথমবার কঠোরভাবে কামড় দিচ্ছে। (সাধারণত সাধারণত ব্যবহারের String#charsক্ষেত্রে বাইট ক্ষতি যথেষ্ট নয়, তবে যেহেতু আমি সেগুলি মানচিত্রের প্রয়োজন তাই এটি আরও অনেক বেশি স্টিং করে)

->s{s.map!(&:chars).shift.zip(*s).map &:join}

0

ক্লোজার, 68 বাইট

#(map(fn[g](reduce(fn[a b](str a(nth b g)))""%))(range(count(% 0))))

মানচিত্র একটি ফাংশন যা ঠিক আছে reduceপ্রথম স্ট্রিংয়ের দৈর্ঘ্য 0 থেকে দৈর্ঘ্যের মধ্যে সীমাবদ্ধ (একটি করে তালিকার উপাদানগুলিতে একের পর এক স্ট্রিংয়ের nth চরিত্রের সাথে যোগ দেয়) ।

এটি অনলাইনে দেখুন: https://ideone.com/pwhZ8e


0

সি #, 53 বাইট

t=>t[0].Select((_,i)=>t.Aggregate("",(a,b)=>a+b[i]));

সি # ল্যাম্বদা ( Func) যেখানে আউটপুট IList<string>এবং আউটপুট IEnumerable<string>zipঅন্যান্য ভাষায় কীভাবে কাজ হয় তা আমি জানি না তবে আমি এখানে সি # এর ব্যবহারের উপায় খুঁজে পাচ্ছি না । Aggregateপ্রয়োজন ভাল ফিট। সি # তে কোনও ট্রান্সপোজ নয়, এক্সেলের মধ্যে একটি রয়েছে তবে আমি এটি ব্যবহার করব না।

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

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