দুটি তালিকার কার্টেসিয়ান পণ্য


14

কার্য

অক্ষরের দুটি তালিকা দেওয়া, তাদের কার্টেসিয়ান পণ্য আউটপুট করুন, অর্থাত্ দ্বিতীয় তালিকার প্রতিটি অক্ষরের সাথে প্রথম তালিকা থেকে প্রতিটি বর্ণের জুড়ির তালিকা।

উদাহরণ

"123456"এবং "abcd"দিন:

[["1","a"],["1","b"],["1","c"],["1","d"],["2","a"],["2","b"],["2","c"],["2","d"],["3","a"],["3","b"],["3","c"],["3","d"],["4","a"],["4","b"],["4","c"],["4","d"],["5","a"],["5","b"],["5","c"],["5","d"],["6","a"],["6","b"],["6","c"],["6","d"]]

ইনপুট

অক্ষর বা স্ট্রিংয়ের দুটি তালিকা। ব্যবহৃত অক্ষরগুলি বর্ণানুক্রমিক হবে a-z, A-Z, 0-9এবং একটি অক্ষর একই সাথে একাধিকবার এবং উভয় ইনপুটগুলিতে উভয়ই ঘটতে পারে।

আউটপুট

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

জোড়গুলি অবশ্যই তালিকাভুক্ত করা উচিত; প্রথম তালিকার প্রথম অক্ষরের সাথে প্রথম তালিকার প্রথম তালিকার প্রথম তালিকা এবং তারপরে প্রথম তালিকার প্রথম অক্ষরের সমস্ত জুটি। সর্বশেষ জুটিটি দ্বিতীয় তালিকার শেষ চরিত্রের সাথে প্রথম তালিকার শেষ চরিত্রটি নিয়ে গঠিত।

আউটপুট অবশ্যই জোড়াগুলির একটি সমতল তালিকা হতে হবে; 2 ডি ম্যাট্রিক্স নয় যেখানে জোড়াগুলি তাদের প্রথম বা দ্বিতীয় উপাদান দ্বারা শ্রেণিবদ্ধ করা হয়।

পরীক্ষার মামলা

inputs               output

"123456", "abcd"     [["1","a"],["1","b"],["1","c"],["1","d"],["2","a"],["2","b"],["2","c"],["2","d"],["3","a"],["3","b"],["3","c"],["3","d"],["4","a"],["4","b"],["4","c"],["4","d"],["5","a"],["5","b"],["5","c"],["5","d"],["6","a"],["6","b"],["6","c"],["6","d"]]
"abc", "123"         [["a","1"],["a","2"],["a","3"],["b","1"],["b","2"],["b","3"],["c","1"],["c","2"],["c","3"]]
"aa", "aba"          [["a","a"],["a","b"],["a","a"],["a","a"],["a","b"],["a","a"]]

@ অ্যাডম পরিবর্তন হয়েছে। ইনপুট স্ট্রিংয়ে পুনরাবৃত্তি হওয়া অক্ষরগুলি আউটপুটটিতে পুনরাবৃত্ত জোড়গুলির কারণ হতে পারে তা বোঝাতে আমার সমস্যা হচ্ছে (ধরে নিলাম এটি কীভাবে ব্যাখ্যা করা হয়)।
xnor

@ এক্সনর আরও সহজ হতে পারে যদি জোড়গুলির ক্রম স্থির হয়?
অ্যাডম

শিরোনাম কেন "তালিকা" বলছে তবুও শরীর "অক্ষরের তালিকা" বলে?
ফাঁস নুন

শুধু নিশ্চিত হতে: ["1a", "1b", "1c", "2a", "2b", "2c", "3a", "3b", "3c"]একটি বৈধ আউটপুট ফর্ম্যাট?
শেগি

1
আপনি code-golfএটিকে সংক্ষিপ্ত উত্তর জয়ের হিসাবে ট্যাগ করেছেন । টাই হওয়ার সময়ে, এই স্কোরটিতে পৌঁছানোর প্রথম উত্তরটি সাধারণত বিজয়ী হয় (বর্তমানে এটি একটি )। কমপক্ষে কোনও উত্তর গ্রহণের আগে এটিকে আরও কয়েক দিন দিন, যদিও তা আদৌ। এবং আপনার নিজের প্রশ্নের উত্তর দেওয়ার দিকনির্দেশগুলির জন্য এখানে দেখুন ।
শেগি

উত্তর:




7

গণিত, 12 বাইট

Tuples@{##}&

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


1
একই দৈর্ঘ্য: Tuples@*Listবিকল্পভাবে, যদি স্বেচ্ছাচারী মাথা অনুমতি দেওয়া হয়:Tuples@*f
ক্যালকুলেটরফলাইন

5

এপিএল (ডায়ালগ) , 4 বাইট

,∘.,

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

, চেপটান

∘. কার্তেসিয়ান

, শ্রেণীপরংপরা


আমি flattenএখানে একটি ভাল বর্ণনা বলে মনে করি না , যেহেতু চ্যাপ্টা দেওয়া ভুল ফলাফল তৈরি করে, তাই আমি মনে করি "আঁটসাঁট" বা "র‌্যাঙ্ক কমাতে" বা অনুরূপ কিছু কাজ করা উচিত। (সমতল [1,2] x [1,2] হ'ল [1,1,1,2,2,1,2,2])
জাচারা

4

রুবি , 30 18 বাইট

জর্ডান থেকে -12 বাইট আমার অনুমানটি আমার সুবিধার্থে ব্যবহার করার একটি উপায় মনে করিয়ে দিচ্ছে!

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

->a,b{a.product b}

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


1
স্পেসিফিকেশনটি বলে যে ইনপুটটি "অক্ষর বা স্ট্রিংগুলির দুটি তালিকাগুলি", তাই আপনার প্রয়োজন বলে আমি মনে করি না .chars
জর্ডান

1
এটি লজ্জাজনক ব্রাউজারগুলি রুবি কথা বলতে চান না। এ জাতীয় বন্ধুত্বপূর্ণ ভাষা ..
alexandros84

4

পার্ল 6 , 4 বাইট

&[X]

এটি বিল্ট-ইন ক্রস প্রোডাক্ট অপারেটরের কেবল একটি রেফারেন্স X। এটি কেবলমাত্র অক্ষর নয়, কোনও ধরণের তালিকায় কাজ করে।




3

Tcl , 60 বাইট

proc p x\ y {lmap X $x {lmap Y $y {lappend l $X\ $Y}};set l}

ব্যবহার করুন:

% p {1 2 3} {a 2 2}
{1 a} {1 2} {1 2} {2 a} {2 2} {2 2} {3 a} {3 2} {3 2}

3

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

ফায়ারফক্স দরকার। উভয় ইনপুটকে স্ট্রিং হিসাবে বা স্বতন্ত্র অক্ষরের অ্যারে হিসাবে নেয়।

a=>b=>[for(x of a)for(y of b)x+y]

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

f=
a=>b=>[for(x of a)for(y of b)x+y]
oninput=_=>console.clear()&console.log(f(i.value)(j.value))
console.log(f(i.value="123456")(j.value="abcd"))
<input id=i><input id=j>


স্ট্রিংগুলিতেও ডেস্ট্রাকচারিং কাজ করে।
নীল

ধন্যবাদ, @ নীল; আমি যে পদ্ধতিটি ব্যবহার করছি তা পরিবর্তন করার পরে তা আপডেট করতে ভুলে গিয়েছি।
শেগি

কি x+yএকটি বৈধ আউটপুট ফরম্যাট?
নিল

@ নীল: আমি এটাই মূলত যাচ্ছিলাম তবে পরীক্ষার ঘটনা থেকে মনে হয় এটি বৈধ হবে না; আউটপুট প্রয়োজনীয়তা পুনরায় পড়া, যদিও তারা মনে হয় যে এটি হতে পারে। আমি নিশ্চিত হওয়ার জন্য স্পষ্টতা চাইব
শেগি

1
@ অ্যালেক্সানড্রোস ৮৪: হ্যাঁ, গল্ফের প্রতিযোগিতামূলক হওয়ার প্রত্যন্ত সুযোগটি দাঁড়ানোর জন্য যদি আপনি টাইপ করেছেন function, আপনি ইতিমধ্যে হেরে গেছেন তবে ES6 (+) অপরিহার্য ! আমি আপনার উত্তরটি পরে কিছু পয়েন্টার নিক্ষেপ করব তবে, ইতিমধ্যে সম্পাদনা ইতিহাসে আমার মূল অ্যারে ম্যাপিং সমাধানটি দেখুন; আপনার কেবল এটি ছিন্ন করতে এবং তীর ফাংশনগুলিকে "বাস্তব" ফাংশনগুলির সাথে প্রতিস্থাপন করতে সক্ষম হওয়া উচিত।
শেগি



2

কিউবিআইসি , 29 বাইট

[_l;||[_l;||?_sA,a,1|+_sB,b,1

এটি প্রতিটি লাইনে সমস্ত সংমিশ্রণ সহ 2-চর স্ট্রিংগুলি মুদ্রণ করে।

ব্যাখ্যা

   ;      Read in string A$
 _l |     Get its length as b
[    |    and kick off a FOR-loop from 1 to that
[_l;||    Do the same for B$
          Note that, while the FOR-loop may pass this code several times, the
          'read-from cmd line' is done only once.
?_sA,a,1| PRINT the character from A$ at the position of the 'a' loop counter
+_sB,a,1   concatenated with the char from B$ at the pos of the 'b' loop counter









1

পাইথন 2 , 39 বাইট

lambda x,y:[[i,j]for i in x for j in y]

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

বিকল্প সমাধান, 34 30 বাইট

-4 বাইটস অ্যান্ডারস ক্যাসরগকে ধন্যবাদ।

এর জন্য একটি বিল্ট-ইন রয়েছে ...

from itertools import*
product

30 বাইট:from itertools import*;product
অ্যান্ডারস ক্যাসরগ



1

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

.(?=.*¶(.+))
$1$&¶
¶¶.+
¶
.(?=.*(.)¶)
$1$&¶
¶.¶
¶

এটি অনলাইন চেষ্টা করুন! পৃথক লাইনে ইনপুট নেয়। ব্যাখ্যা:

.(?=.*¶(.+))
$1$&¶

প্রথম স্ট্রিংয়ের প্রতিটি অক্ষর দ্বিতীয় স্ট্রিং দ্বারা উপস্থাপিত একটি পৃথক রেখা উত্পন্ন করে।

¶¶.+
¶

আসল দ্বিতীয় স্ট্রিংটি মোছা হয়েছে।

.(?=.*(.)¶)
$1$&¶

প্রথম স্ট্রিংয়ের প্রতিটি অক্ষরের জন্য, দ্বিতীয় স্ট্রিংয়ের প্রতিটি অক্ষর প্রথম অক্ষরের সাথে উপসর্গযুক্ত একটি পৃথক রেখা উত্পন্ন করে।

¶.¶
¶

প্রথম স্ট্রিং থেকে বাম-ওভার অক্ষর মুছে ফেলা হয়েছে।


1

q / kdb +, 5 বাইট

সমাধান:

cross           / yup, there's a built-in to do exactly this

উদাহরণ:

q)"123456"cross"abcd"
"1a"
"1b"
"1c"
"1d"
"2a"
"2b"
"2c"
"2d"
"3a"
"3b"
"3c"
"3d"
"4a"
"4b"
...etc

1

কাঠকয়লা , 8 7 বাইট

FθEη⁺ικ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা: ভেরিয়েবল θএবং ηস্পষ্টভাবে দুটি ইনপুট স্ট্রিং উল্লেখ। কমান্ড, প্রথম ইনপুটের প্রতিটি অক্ষর উপর loops যখন কমান্ড লুপ পরিবর্তনশীল concatenating দ্বিতীয় ইনপুটের প্রতিটি অক্ষর উপর মানচিত্র ιএবং মানচিত্র পরিবর্তনশীল κ, ফলে যা পরোক্ষভাবে পৃথক লাইন ছাপা হয়।


এটি 19 বাইট বলে মনে হচ্ছে।
ক্যালকুলেটরফলাইন

@ ক্যালকুলেটরফ্লাইন চারকোলের নিজস্ব কোড পৃষ্ঠা রয়েছে
নীল

1

আর , 29 বাইট

function(x,y)outer(x,y,paste)

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

দ্রষ্টব্য যে আর ম্যাট্রিক্স কলাম দ্বারা পূরণ করা হয়েছে, সুতরাং ফলাফলটি অনুমান দ্বারা নির্ধারিত ক্রমে হয়।

যদি factorsইনপুট এবং আউটপুট পাওয়ার অনুমতি দেওয়া হয় তবে একটি অন্তর্নির্মিত আছে ... তবে একটিকে ফ্যাক্টর থেকে ফলাফলের স্তরগুলি বের করতে হবে যাতে শেষ পর্যন্ত এটি 29 বাইটের বেশি হয়ে যায়।

আর , 11 বাইট

interaction

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



1

সি # 7, 78 63 বাইট

(a,b)=>$"({string.Join(",",a.SelectMany(x=>b,(x,y)=>(x,y)))})";

এটি কোনও সম্পূর্ণ প্রোগ্রাম বা কোনও ক্রিয়াকলাপ নয়
ASCII- কেবল

আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখবেন এবং স্নিপেট নয়।
মুহাম্মদ সালমান

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

বিটিডব্লিউ, এই কারণেই আমি কোড গল্ফ পছন্দ করি না।
ডেনিস_ই

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