স্টেম এবং পাতার প্লট তৈরি করুন


14

সম্পর্কিত: একটি স্টেম এবং পাতার প্লট বৈধ করুন

ইনপুট

ইতিবাচক পূর্ণসংখ্যার একটি খালি খালি তালিকা। প্রয়োজনে সেগুলি স্ট্রিং হিসাবে নেওয়া যেতে পারে। আপনি এটির বাছাই করে ধরে নিতে পারবেন না।

আউটপুট

সংখ্যার একটি স্টেম এবং পাতার প্লট । ইন একটি এই স্টেম-এবং-পাত চক্রান্ত, সংখ্যা আদেশ হয় মধ্যে ডালপালা দশ দ্বারা, তারপর সমস্ত নম্বর যে স্টেম মধ্যে মাপসই করা তাদের বেশী স্টেম মধ্যে স্থাপন করা মান, এবং তারপর সব সাজানো হয় না। এই চ্যালেঞ্জের মধ্যে, নিউলাইনগুলি কান্ডগুলি পৃথক করে এবং স্পেসগুলি পাতা থেকে কান্ডকে পৃথক করে।

আপনি খালি খালি কান্ডের মধ্যে থাকা সমস্ত খালি কান্ডকে অন্তর্ভুক্ত বা বাদ দিতে পারেন।

পরীক্ষার কেস

(তালিকাগুলি আপনার ভাষার তালিকার ডিফল্টে নেওয়া যেতে পারে, আমি নীচের জন্য JSON ব্যবহার করেছি)

খালি ডান্ডা সহ:

[1, 2, 3, 3, 3, 3, 3, 10, 15, 15, 18, 1, 100]

0 11233333
1 0558
2
3
4
5
6
7
8
9
10 0

[55, 59, 49, 43, 58, 59, 54, 44, 49, 51, 44, 40, 50, 59, 59, 59]

4 034499
5 0145899999

[10000, 10100]

1000 0
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010 0

খালি কান্ড বাদ দিয়ে:

[1, 2, 3, 3, 3, 3, 3, 10, 15, 15, 18, 1, 100]

0 11233333
1 0558
10 0

[55, 59, 49, 43, 58, 59, 54, 44, 49, 51, 44, 40, 50, 59, 59, 59]

4 034499
5 0145899999

[10000, 10100]

1000 0
1010 0


এটি বাছাই করা এবং / অথবা ইনপুট ক্রম সংরক্ষণ করা দরকার?
রড

@ সংজ্ঞা অনুসারে রড, এটি দশকে দ্বারা ইনপুটটি সাজায়, তারপরে একসাথে। ইনপুট অর্ডার কিছু যায় আসে না।
স্টিফেন

2
আউটপুট ফর্ম্যাটটি এমন হতে হবে? কি আমার উত্তর বৈধ?
রড

1
@ টোটালিহুমান টিপলস ঠিক আছে, তবে হ্যাঁ, পাতাগুলি বাছাই করা দরকার, এটি প্লটটির পুরো বিন্দু, নিদর্শন এবং বিতরণকে কল্পনা করতে
স্টিফেন

উত্তর:


2

আর , 12 বাইট

stem(scan())

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

ব্যাখ্যা:

s               # imports RAND's "Million Random Digits"
  e  )          # cooks a pound of spaghetti and places it on the stack
 t              # transposes the output 42 times
       can      # goes for a pee
   m(           # grows moustache, turns head to side and frowns
      s   (     # implicitly ignores all criticism
           )    # makes a stemplot of the input

আমি মনে করি ঠিক stemযথেষ্ট হবে, কারণ এটি ইনপুট হিসাবে অ্যারে নেয়।
জিউসেপ

এটিই ছিল কেবলমাত্র টিআইওতে কাজ করার জন্য উদাহরণ পেতে। এবং আমি অনুমান করি যে আমি উত্তর দেওয়ার "প্রোগ্রাম বা ফাংশন" শৈলীতে অভ্যস্ত এবং অন্যান্য ফর্ম্যাট সম্পর্কে আমি অনিশ্চিত।
এনজিএম


@ জিউস্পে এর সাথে সম্মত হন, উত্তরটি ঠিক হওয়া উচিত stem:)
জেসি



3

রেটিনা , 38 30 বাইট

2 বাইট সঞ্চয় করার জন্য নীলকে এবং আরও 6 টি সঞ্চয় করার জন্য লিওকে ধন্যবাদ Thanks

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

O#`
.\b
 $&
\B 
0 
D$`¶?.+ 
$*

ইনপুট হল পূর্ণসংখ্যার একটি লাইনফিড-বিচ্ছিন্ন তালিকা। আউটপুট খালি উপসর্গ বাদ দেয়।

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


(?<=(\b.+ ).)¶\1আপনাকে দুটি বাইট বাঁচায়
নিল

শেষ পর্যায়ে প্রতিস্থাপনের পরিবর্তে একটি প্রতিলিপি পর্যায়টি ব্যবহার করে বাইটস সংরক্ষণ করা যায় (আপনাকে অবশ্যই প্রথম লাইনের সাথে ডিল করতে হবে) tio.run/##K0otycxL/…
লিও

@ লিও ধন্যবাদ, আমি একটি সামান্য বৈকল্পিকের সাথে যাচ্ছি যা একটি শীর্ষস্থানীয় লাইনফিডের সাথে শেষ হয় না।
মার্টিন এন্ডার

2

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

a=>a.sort((a,b)=>a-b).map(e=>r[d=e/10|0]=(r[d]||d+` `)+e%10,r=[])&&r.filter(e=>e).join`
`

2

পাইথন 2 , 146 140 133 124 120 118 109 107 90 86 84 91 82 81 70 63 বাইট

-6 বাইট রড ধন্যবাদ। -9 বাইট ovs ধন্যবাদ।

lambda l:{i/10:[j%10for j in sorted(l)if j/10==i/10]for i in l}

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

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

পাইথন তালিকা হিসাবে ইনপুট এবং ডিক হিসাবে আউটপুট। উদাহরণ:

ইনপুট:

[1, 2, 3, 3, 3, 3, 3, 10, 15, 15, 18, 1, 100]

আউটপুট:

{0: [1, 1, 2, 3, 3, 3, 3, 3], 1: [0, 5, 5, 8], 10: [0]}


1
r[i/10]=r.get(i/10,'')+`i%10`82 বাইটের জন্য
ওভস

আমার মনে হয় ডিফল্টগুলি ডিফল্ট অনুসারে বাছাই করা হয়? কেবল মূল ক্রমে নয়
ধ্বংসাত্মক লেবু

1

গণিত, 103 বাইট

@ ব্যবহারকারী202729 এর মুছে ফেলা উত্তর থেকে কোড নেওয়া হয়েছে

Grid[Table[{Keys[#][[i]],""<>ToString/@#[[i]]},{i,Length@#}]]&@(GroupBy[Sort@#,⌊#/10⌋&]~Mod~10&@#)&

1

> <> , 84 বাইট

1&0\n~a7+3.
 :}<$?)@:$@:v!?
r~&^?-l&:+1&/&:,a-%a::
&=?v~&1+:&ao>n" "o:?!;::a%:@-a,&:

এটি অনলাইনে চেষ্টা করুন , বা মাছের খেলার মাঠে !

ধরে নিই ইনপুট নম্বরগুলি ইতিমধ্যে স্ট্যাকের মধ্যে রয়েছে

ব্যাখ্যা: প্রথমে, আমরা এই বিট কোড সহ বুদ্বুদ সাজানোর সাহায্যে স্ট্যাকটি বাছাই করি :

1&0\
 :}<$?)@:$@:v!?
   ^?-l&:+1&/

এর পরে, আমরা 10 ব্যবহার করে স্ট্যাকের মধ্যে প্রথম জিনিসটির পূর্ণসংখ্যা-গুণফলটি গণনা করব, ::a%-a,এটি রেজিস্টারে রেখে, এবং সংখ্যাগুলির শেষ সংখ্যাগুলি মুদ্রণের মধ্য দিয়ে যেতে হবে যতক্ষণ না তাদের প্রথম সংখ্যাগুলি নিবন্ধের মতো না হয়, তারপরে রেজিস্টার বৃদ্ধি এবং অবিরত। যখন আমরা তালিকার শেষে পৌঁছায়, ক এর সাথে চিহ্নিত 0, আমরা থামি।


1

PostgreSQL, 53 বাইট

SELECT n/10,json_agg(n%10ORDER BY n)FROM t GROUP BY 1

পূর্ণসংখ্যাগুলির তালিকা অবশ্যই বিদ্যমান সারণীর integerকলামে থাকতে হবে । ফলাফলটি একটি দ্বি-কলামের সারণী: প্রতিটি সারিতে একটি "স্টেম" কলাম এবং একটি "পাতাগুলি" কলাম থাকে। "পাতাগুলি" কলামটি JSON অ্যারে বিন্যাসে রয়েছে। (মন্তব্যে উল্লিখিত হিসাবে, "টেস্ট কেসগুলি" এর অধীনে প্রদর্শিত বিন্যাসের ঠিক মেনে চলার দরকার নেই))nt

যদিও কান্ডের ক্রম গ্যারান্টিযুক্ত নয় (10 টি বাইট সংরক্ষণের ORDER BY 1জন্য, ক্যোয়ারির শেষে থেকে বাদ দেওয়া হয়েছে), আমার পরীক্ষায়, ডালগুলি সঠিক ক্রমে শেষ বলে মনে হয়েছিল।

এসকিউএল ফিডল এ ফলাফল দেখুন

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