সঠিক ক্রমে ক্যান্ডি খাওয়া


36

যখন ক্যান্ডি খাওয়ার কথা আসে, আমি নিজেকে সাধারণ লাইপারসনের চেয়ে উচ্চ মানের কাছে ধরে রাখি। "এটি মেশানো" এবং "শেষের জন্য সেরা সঞ্চয় করা" এর মধ্যে একটি সূক্ষ্ম ভারসাম্য রয়েছে।

এই চ্যালেঞ্জে আপনাকে অক্ষরের একটি স্ট্রিং দেওয়া হবে যাতে প্রতিটি অক্ষর মিছরির একটি অংশকে উপস্থাপন করে। বিভিন্ন অক্ষর (কেস-সংবেদনশীল) বিভিন্ন ধরণের ক্যান্ডির প্রতিনিধিত্ব করে। আপনার প্রোগ্রামটি অবশ্যই নীচের পদ্ধতির উপর ভিত্তি করে মিছরি খাওয়ার সঠিক ক্রমটি নির্ধারণ করবে। আপনি এই কাজটি সম্পাদন করতে একটি সম্পূর্ণ প্রোগ্রাম (STDIN / STDOUT) বা একটি নামকৃত ফাংশন লিখতে পারেন।

আমার ক্যান্ডি স্ট্যাশ বলা যাক oroybgrbbyrorypoprr। প্রথমত, আমি ক্যান্ডিকে একই ধরণের পাইলগুলিতে বাছাই করি, শীর্ষে বৃহত পরিমাণে, টাই-ব্রেকার হিসাবে নিম্ন ASCII অক্ষরের মানগুলি ব্যবহার করে।

rrrrrr
oooo
bbb
yyy
pp
g

তারপরে, আমি প্রতিটি ক্যান্ডির ক্যান্ডি নিয়ে থাকি এবং একটি বিরতিতে এগুলি সমানভাবে স্থান করি। উদাহরণস্বরূপ, যদি 3 টি ক্যান্ডির টুকরোগুলি থাকে তবে একটিটিকে 1/3 পথের, 2/3 পথের এবং শেষে রাখা হয়।

.r.r.r.r.r.r
..o..o..o..o
...b...b...b
...y...y...y
.....p.....p
...........g

তারপরে, আমি আমার চূড়ান্ত ক্যান্ডি অর্ডার তৈরি করতে প্রতিটি কলামে নেমে যাই rorbyroprbyorrobypg

ইনপুট

একটি স্ট্রিং যা ক্যান্ডি স্ট্যাশ ধারণ করে। উপরের উদাহরণের জন্য ইনপুটটি হতে পারে:

oroybgrbbyrorypoprr

আউটপুট

ক্যান্ডিযুক্ত একটি স্ট্রিং সেবনের সঠিক ক্রমে পুনর্গঠিত।

rorbyroprbyorrobypg

স্কোরিং

এটি কোড গল্ফ। বাইটস মধ্যে সংক্ষিপ্ত উত্তর। স্ট্যান্ডার্ড কোড-গল্ফ বিধি প্রযোজ্য।


মিছরি সংখ্যাটি অসম হলে আপনি কি আরও বড় জায়গা যুক্ত করবেন? এই ক্ষেত্রে বলুন আপনার যদি আরও একটি আর ক্যান্ডি থাকে তবে গ্রিডটি কেমন দেখায়?
ভজুরা

38
অবশেষে কেউ জানেন যে কীভাবে ক্যান্ডি খেতে হয়।
মাইকেল এম।

12
সুতরাং ... মূলত মিছরি দূরে।
COTO

9
এটি আসলে কীভাবে আমার ক্যান্ডি খায় তার খুব কাছে আসে। :)
এমিল

3
একজন মানুষ কীভাবে লোভ পেতে পারেন? ক্যান্ডিস খাওয়ার সংখ্যার কি সীমা আছে?
Alchymist

উত্তর:


12

সিজেম, 78 68 61 45 42 39 39 30 30 বাইট

l$:L{L\/,~}${:DM+:MD/,LD/,d/}$

STDIN এর মাধ্যমে ইনপুট স্ট্রিং নেয়

পুনরাবৃত্তির পদ্ধতির দ্বারা অনুপ্রাণিত, তবে কিছুটা আলাদা। মোটেও ট্রান্সপোজ বা আয়তক্ষেত্রের প্রয়োজন নেই!

কিভাবে এটা কাজ করে:

l$:L                              "Sort the input line and store it in L";
    {     }$                      "Sort the string based on this code block output";
     L\/,~                        "Sort based on number of occurrences of each";
                                  "character in the full string";
            {               }$    "Sort the sorted string again";
             :DM+:M               "Store each character in D, add to M and update M";
                   D/,            "Count occurrences of D in M";
                      LD/,        "Count occurrences of D in L";
                          d/      "Sort string based on the ratio of two occurrences";

(দুঃখের বিষয় যে সিনট্যাক্সের মতো এত বেশি ব্লাট প্রয়োজনের কারণে সিজেএম পাইথের সাথে আর আর সম্পূর্ণ করতে পারে না)

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


4
আমি মনে করি না আপনার এলসিএম দরকার; যে কোনও একাধিক কাজ করা উচিত। এই আপনি প্রতিস্থাপন অনুমতি থাকবে {_@_@{_@\%}h;/*}সঙ্গে :
ডেনিস

<পৃষ্ঠার পৃষ্ঠা> এটি ভাবেনি।
অপটিমাইজার

আপনার দৈর্ঘ্য অর্ধেক হওয়ার জন্য অভিনন্দন!
isaacg

এতে আমি কট্টরতা অনুভব করছি: ডি
অপটিমাইজার

11

পাইথ , 25

shCoc/NhN/zhNm>o_/zZSzdUz

এই উত্তরটি দ্বারা অনুপ্রাণিত হয়ে সমস্ত নতুন অ্যালগরিদম ব্যবহার করে ।

(implicit)          z = input()
(implicit)          print
s                   combine list of strings into one string
 h                  first list in
  C                 matrix transpose of (e.g. first characters in first list, etc.)
   o                order_by(lambda N:
    c                        float_div(
     /NhN                              N.count(N[0]),
     /zhN                              z.count(N[0])),
    m                        map(lambda d:
     >                           slice_head(
      o                                     order_by(lambda Z:
       _/zZ                                          -1*z.count(Z),
       Sz                                            sorted(z)),
      d                                     d),
     Uz                          range(len(z))

ধাপে ধাপে:

  1. প্রথমে, আমরা অক্ষরগুলি তাদের সাধারণতার দ্বারা বাছাই করেছি, বর্ণানুক্রমিকভাবে ভেঙেছি। এই o_/zZSzoপাইথনের মতোই sorted(<stuff>,key=<stuff>), কীটির জন্য ল্যাম্বডা এক্সপ্রেশন সহ এটি স্ট্রিং হিসাবে রাখে।

  2. তারপরে আমরা সেই স্ট্রিংয়ের উপসর্গগুলির একটি তালিকা তৈরি করি, len(z)দৈর্ঘ্য 1 থেকে দৈর্ঘ্য 1 >পর্যন্ত পাইথনের সমতুল্য <stuff>[<int>:]

  3. তারপরে, আমরা ভগ্নাংশের অবস্থান অনুসারে উপসর্গের স্ট্রিংগুলির এই তালিকাটি পুনরায় সাজিয়েছি, 0 টি বাম প্রান্ত এবং 1 টি ডান হওয়াতে, প্রশ্নের মধ্যে দেখা আয়তক্ষেত্রাকার বিন্যাসে উপসর্গের প্রথম চরিত্রের। /NhNউপসর্গের প্রথম অক্ষরটি উপসর্গের মধ্যে কতবার ঘটে /zhNতা গণনা করে , যখন একটি ছিদ্র হিসাবে স্ট্রিংয়ের উপসর্গের প্রথম চরিত্রের সংখ্যার সংখ্যা দেয়। এই চরিত্রের 1/kডান সর্বাধিক উপস্থিতি k/kথেকে শুরু করে বামে সর্বাধিক উপস্থিতি থেকে একটি গ্রুপে প্রতিটি চরিত্রের নেতৃত্বে থাকা প্রতিটি উপসর্গকে নির্ধারণ করে । এই নম্বর দ্বারা উপসর্গ তালিকাটি পুনরায় সাজানো বিন্যাসে উপযুক্ত অবস্থান দেয়। পূর্ববর্তী ক্রমটি ব্যবহার করে বন্ধনগুলি ভেঙে দেওয়া হয়, যা প্রথমে ইচ্ছামতো বর্ণানুক্রমিকভাবে গণনা অনুসারে হয়েছিল।

  4. শেষ অবধি, আমাদের প্রতিটি উপসর্গের স্ট্রিং থেকে প্রথম অক্ষরটি বের করতে হবে, সেগুলিকে একটি স্ট্রিংয়ের সাথে একত্রিত করতে হবে এবং সেগুলি মুদ্রণ করতে হবে। প্রথম অক্ষর নিষ্কাশন করা হয় hCCতালিকায় ম্যাট্রিক্স ট্রান্সপোজ করে, আসলে zip(*x)পাইথন ৩. hফলাফল ম্যাট্রিক্সের প্রথম সারিটি বের করে। এটি আসলে একমাত্র সারি, কারণ 1 টি অক্ষরের উপসর্গের উপস্থিতি অন্য যে কোনও সম্পূর্ণ সারি তৈরি হতে বাধা দেয়। sএই tuple এর অক্ষরগুলিকে একক স্ট্রিংয়ে যোগ করে। মুদ্রণ জড়িত।

টেস্ট:

$ pyth -c 'shCoc/NhN/zhNm>o_/zZSzdUz' <<< 'oroybgrbbyrorypoprr'
rorbyroprbyorrobypg

বর্ধিত প্রোগ্রাম টুকরা এতে oroybgrbbyrorypoprr:

Sub-Piece                  Output

Sz                         bbbgoooopprrrrrryyy
o_/zNSz                    rrrrrroooobbbyyyppg      (uses N because o uses N on first use.)
m>o_/zNSzdUz               ['rrrrrroooobbbyyyppg', 'rrrrroooobbbyyyppg', 'rrrroooobbbyyyppg', 'rrroooobbbyyyppg', 'rroooobbbyyyppg', 'roooobbbyyyppg', 'oooobbbyyyppg', 'ooobbbyyyppg', 'oobbbyyyppg', 'obbbyyyppg', 'bbbyyyppg', 'bbyyyppg', 'byyyppg', 'yyyppg', 'yyppg', 'yppg', 'ppg', 'pg', 'g']
oc/NhN/zhNm>o_/zZSzdUz     ['roooobbbyyyppg', 'obbbyyyppg', 'rroooobbbyyyppg', 'byyyppg', 'yppg', 'rrroooobbbyyyppg', 'oobbbyyyppg', 'pg', 'rrrroooobbbyyyppg', 'bbyyyppg', 'yyppg', 'ooobbbyyyppg', 'rrrrroooobbbyyyppg', 'rrrrrroooobbbyyyppg', 'oooobbbyyyppg', 'bbbyyyppg', 'yyyppg', 'ppg', 'g']
Coc/NhN/zhNm>o_/zZSzdUz    [('r', 'o', 'r', 'b', 'y', 'r', 'o', 'p', 'r', 'b', 'y', 'o', 'r', 'r', 'o', 'b', 'y', 'p', 'g')]
shCoc/NhN/zhNm>o_/zZSzdUz  rorbyroprbyorrobypg

পুরানো উত্তর:

পাইথ , 34

ssCm*+t*u*G/zHS{-zd1]kd/zdo_/zNS{z

এই প্রোগ্রামটি কতবার নির্দিষ্ট সাবলিস্টে প্রতিলিপি করতে হবে তা গণনা করে কাজ করে। সাব-লিস্টের মতো দেখাচ্ছে ['', '', '', '', ... , 'r']। এই উপ-তালিকার মোট দৈর্ঘ্য হ'ল অন্যান্য ক্যান্ডিসের সংঘটন সংখ্যার গুণফল u*G/zHS{-zd1। পুরো সাবলিস্টটি খালি স্ট্রিংয়ের তালিকাটিকে বহুবার তৈরি করে তৈরি করা হয় ]k, তারপরে মুছে ফেলা এবং উপাদান দিয়ে tএবং ক্যান্ডির নামটি শেষে যুক্ত করে +d

তারপরে, এই উপ-তালিকাটি ইনপুটটিতে পাওয়া যায় যে ক্যান্ডিটি যতবার পাওয়া যায় ততবার প্রতিলিপি করা হয় /zd, প্রতিটি ক্যান্ডির তালিকা সমান দৈর্ঘ্যের হয় তা নিশ্চিত করে।

এখন, এই ক্রিয়াকলাপটি যথাযথভাবে সাজানো ক্রম ( o_/zNS{z) এর মাধ্যমে সমস্ত অনন্য ক্যান্ডিসের উপরে ম্যাপ করা হয়েছে , আমাদের কাছে প্রশ্ন বিবৃতিতে অনুরূপ একটি আয়তক্ষেত্র রয়েছে তবে পিরিয়ডের পরিবর্তে খালি স্ট্রিং রয়েছে। Cদুটি সারসংক্ষেপ ( ss) এর পরে ম্যাট্রিক্স ট্রান্সপোজ ( ) করা চূড়ান্ত স্ট্রিং দেয়।

প্রতিপাদন:

$ pyth programs/candy.pyth <<< 'oroybgrbbyrorypoprr'
rorbyroprbyorrobypg

4
দেখে মনে হচ্ছে পাইথ ভাষা সিনট্যাক্সে নিজেই এনক্রিপশন সমর্থন করে!
অপ্টিমাইজার

@ অপ্টিমাইজার এনক্রিপশন? আপনি কি বিষয়ে কথা হয়?
isaacg

নিস! আমি সম্ভবত কখনই লুপের জন্য মানচিত্রে পরিবর্তন করার কথা ভাবিনি। অনেক ক্লিনার
FryAmTheEggman

উত্স কোড দেখুন। এটি কোনও এনক্রিপ্ট করা বার্তার মতো দেখাচ্ছে।
অপটিমাইজার

2
আপনি কি সর্বশেষতম অ্যালগরিদমের ধাপে ধাপে উদাহরণ দিতে পারেন? খুব দয়া করে :)
অপ্টিমাইজার

6

পার্ল 5 - 62

61 কোড + 1 পতাকা।

#!perl -n
print map/(.$)/,sort map/(.$)/*$_/$$1.~$_.$1,map++$$_.$_,/./g

প্রথমে ইনপুটটিকে অক্ষর অ্যারেতে ভাগ করুন - /./g

ভেরিয়েবলের সংখ্যা গণনা করে প্রতিটি বর্ণগুলিতে উপস্থিতি সূচক যুক্ত করুন $a.. $zসহ map++$$_.$_। এখন অ্যারেটি হ'ল:

1o
1r
2o
1y
1b
1g
2r
2b
3b
2y
3r
3o
4r
3y
1p
4o
2p
5r
6r

তারপরে এটিকে একটি সাজানোর কী কনটেনটিংয়ে রূপান্তর করুন: অনুপাত $_/$$1, কাউন্ট টাই ব্রেকার ~$_এবং এএসসিআইআই মান টাই ব্রেকার $_। এর ফলাফল হবে (স্পষ্টতার জন্য এখানে অতিরিক্ত স্থান সহ)।

0.25 18446744073709551614 o
0.166666666666667 18446744073709551614 r
0.5 18446744073709551613 o
0.333333333333333 18446744073709551614 y
0.333333333333333 18446744073709551614 b
1 18446744073709551614 g
0.333333333333333 18446744073709551613 r
0.666666666666667 18446744073709551613 b
1 18446744073709551612 b
0.666666666666667 18446744073709551613 y
0.5 18446744073709551612 r
0.75 18446744073709551612 o
0.666666666666667 18446744073709551611 r
1 18446744073709551612 y
0.5 18446744073709551614 p
1 18446744073709551611 o
1 18446744073709551613 p
0.833333333333333 18446744073709551610 r
1 18446744073709551609 r

এটিকে অভিধান সংক্রান্ত (ডিফল্ট) ক্রম অনুসারে বাছাই করা যেতে পারে। শেষ অবধি শেষ চরিত্রটি মুদ্রণ করুন:print map/(.$)/


5

পাইথন 3.x - 124 বাইট

C=input()
print("".join(s[1]for s in sorted(enumerate(C),key=lambda
t:((C[:t[0]].count(t[1])+1+1e-10)/C.count(t[1]),t[1]))))

এটি আয়তক্ষেত্র পদ্ধতির চেয়ে অ্যালগরিদমের এত শীতল!
isaacg

4

গণিত, 123 119 118 বাইট

f=FromCharacterCode[s=SortBy;#&@@@s[Join@@(s[Tally@ToCharacterCode@#,-Last@#&]/.{x_,n_}:>({x,#/n}&~Array~n)),{Last}]]&

একটি নামকৃত ফাংশন সংজ্ঞায়িত করে f। Ungolfed:

f = FromCharacterCode[
   s = SortBy;
   # & @@@ s[
     Join @@ (
       s[
         Tally@ToCharacterCode@#,
         -Last@# &
         ] /. {x_, n_} :> ({x, #/n} &~Array~n)
       ),
     {Last}
     ]
   ] &

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


3

পাইথ 45 47 48 51

এটি প্রায় অবশ্যই আরও গল্ফ করা যেতে পারে;)

Ko_/zNS{zFGK~Y]*+*t/u*GHm/zdK1/zG]k]G/zG)ssCY

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

আমাকে যোগফল সম্পর্কে স্মরণ করিয়ে দেওয়ার জন্য @ আইস্যাকগকে ধন্যবাদ!


2
sস্ট্রিংয়ের তালিকায় কাজ করে j""
isaacg

3

এপিএল: 38

v⌷⍨⊂⍋⌽(n/-n),⍪∊+\¨n⍴¨÷n←{≢⍵}⌸v←{⍵[⍋⍵]}

ব্যাখ্যা:

v←{⍵[⍋⍵]}    orders input string
n←{≢⍵}⌸v     counts how many times each element appears in v
∊+\¨n⍴¨÷n     makes incremental sums in each letter "group" 
⍋⌽(n/-n),⍪   appends number of elements in letter group and orders the obtained matrix
v⌷⍨⊂         orders vector v with computed indices

Tryapl.org এ পরীক্ষা করা যায়


2

আর - 166 টি অক্ষর

library("plyr");s=function(a){l=table(strsplit(a,s="")[[1]]);l=ldply(l[order(-l,names(l))],function(n)data.frame(seq_len(n)/n));paste(l[order(l[[2]]),1],collapse="")}

অসম্পূর্ণ সংস্করণ

library("plyr")
s <- function(a) {
    tbl <- table(strsplit(a, split = "")[[1]])
    tbl <- tbl[order(-tbl, names(tbl))]
    tbl <- ldply(tbl, function(n) {data.frame(seq_len(n)/n)})
    paste(tbl[order(tbl[[2]]),1], collapse = "")
}

ব্যাখ্যা:

  • স্বতন্ত্র চরিত্রগুলিতে বিভক্ত করুন
  • প্রতিটি চরিত্রের সংখ্যা সারণি
  • সারণি সর্বাধিক ঘন এবং তারপরে লাক্ষিক ক্রম অনুসারে বাছাই করুন
  • 1 / এন, 2 / এন, 3 / এন, ... n-1 / n, 1 এ নির্বাচনের জন্য সূচীর অবস্থানগুলি যেখানে এন ক্যান্ডিসের সংখ্যা
  • সূচক অনুসারে ক্যান্ডির নামগুলি orderবাছাই করুন ( বাছাইয়ের ক্ষেত্রে স্থিতিশীল, তাই সর্বশেষ ঘন / লেজিকাল নামকরণ ক্রম বজায় রাখে যখন সূচীতে কোনও টাই শেষ ক্যান্ডির সাথে বিশেষত গুরুত্বপূর্ণ)
  • আউটপুট স্ট্রিং করতে মিছির নামগুলি একত্রে সংযুক্ত করুন c

সমস্যার ম্যাট্রিক্স প্রকৃতি আমাকে ভাবায় যে এটির একটি গুলি থাকতে পারে তবে আমি যে অ্যালগরিদমটি করতে পারি তার সেরা আক্ষরিক ব্যাখ্যাটি ছিল 211 অক্ষর:

l=function(a){l=table(strsplit(a,s="")[[1]]);l=l[order(-l,names(l))];o=Reduce(`*`,l);m=matrix("",nc=o,nr=length(l));for(r in seq_along(l)){x=l[r];for(c in seq_len(x)*o/x){m[r,c]<-names(x)}};paste(m,collapse="")}

ungolfed:

l <- function(a) {
    tbl <- table(strsplit(a, split = "")[[1]])
    tbl <- tbl[order(-tbl, names(tbl))]
    o <- Reduce(`*`, tbl)
    m <- matrix("", ncol = o, nrow = length(tbl))
    for (r in seq_along(tbl)) {
        for (c in seq_len(tbl[r])*o/tbl[r]) {
            m[r,c] <- names(tbl[r])
        }
    }
    paste(m, collapse="")
}

2

পাইথ, 29 বাইট

এটা আমার সরাসরি অনুবাদ CJam answe Pyth মধ্যে R

oc/|$Y.append(N)$YN/zNo_/zZSz

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


এই সমাধানের পিছনে একটি দীর্ঘ দীর্ঘ গল্প রয়েছে এবং @ আইস্যাক এই নতুন ভাষাটি বোঝার জন্য আমাকে অনেক সহায়তা করেছে।

আদর্শভাবে এটি আমার সিজেএম কোড ( 17 বাইট ) এর শব্দ অনুবাদের সঠিক শব্দটি :

oc/~kNN/zNo_/zZSz

যার অর্থ:

o         order_by(lambda N:
 c                 div(
  /                    count(
   ~kN                       k+=N,                #Update k (initially ""), add N
   N                         N),                  #Count N in updated k
  /zN                  count(z, N)),
 o                 order_by(lambda Z:
  _                         neg(
   /zZ                          count(z, Z)),
  Sz                        sorted(z)))

তবে দুঃখের বিষয় পাইথন কোনও +=কলে কিছু ফেরত দেয় না , সুতরাং এটি একটি বৈধ পাইথন কোড ছিল না, সুতরাং পাইথের মতো একটি অবৈধ পাইথ কোডও, একটি ল্যাম্বডা কেবল একটি রিটার্নের বিবৃতি হতে পারে।

তারপরে আমি বিভিন্ন পদ্ধতিতে সন্ধান করলাম এবং অবশেষে দেখতে পেলাম পাইথনের প্রতিদান list.appendএকটি Noneমান দেয় যা আমি ব্যবহার করতে পারি। কোডটি তৈরি করা ( 19 বাইট ):

oc/|aYNYN/zNo_/zZSz

যার অর্থ:

o         order_by(lambda N:
 c                 div(
  /                    count(
   |aYN                      (Y.append(N) or
    Y                         Y)                 #Update Y (initially []), append N
   N                         N),                 #Count N in updated Y
  /zN                  count(z, N)),
 o                 order_by(lambda Z:
  _                         neg(
   /zZ                          count(z, Z)),
  Sz                        sorted(z)))

তবে দুঃখের বিষয়, সমর্থন a পাইথ থেকে (অ্যাপেন্ড) সরিয়ে দেওয়া হয়েছিল এবং যে সংস্করণটির সমর্থন রয়েছে, তার সমর্থন নেই o

হালনাগাদ : a পাইথটিতে এখন সমর্থন যোগ করা হয়েছে তাই উপরের 19 বাইট কোডটি অনলাইন সংকলকটিতে কাজ করবে। তবে যেহেতু এটি একটি নতুন বৈশিষ্ট্য যা ওপির পরে যুক্ত হয়েছিল, তাই আমি এটিকে আমার স্কোর হিসাবে রাখছি না এবং 29 টি বাইট কোডটিকে আমার সমাধান হিসাবে দিচ্ছি।

সুতরাং কোডটি তৈরি করে আমাকে সে ক্ষেত্রে কাঁচা পাইথনের উপর নির্ভর করতে হয়েছিল

o         order_by(lambda N:
 c                 div(
  /                    count(
   |$Y.append(N)$            (Y.append(N) or
    Y                         Y)                 #Update Y (initially []), append N
   N                         N),                 #Count N in updated Y
  /zN                  count(z, N)),
 o                 order_by(lambda Z:
  _                         neg(
   /zZ                          count(z, Z)),
  Sz                        sorted(z)))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.