আমার প্রতিনিধি স্ট্যাক-এক্সচেঞ্জ ফর্ম হয়?


16

চত্বর:

আপনার খ্যাতি স্ট্যাক-এক্সচেঞ্জ ফর্মে রয়েছে যদি এটি আপনার পদক গণনাগুলি (স্বর্ণ, রৌপ্য এবং ব্রোঞ্জ পৃথকভাবে গণনা করা) তাদের বেস -10 অঙ্কগুলিতে বিভক্ত করে এবং কয়েকটি সতর্কতার সাথে যেকোন প্রদত্ত ক্রমে যোগদান করে represented

পচে যাওয়ার সময়, প্রতিটি

  • সোনার মেডেল ডিজিটের মূল্য তিন অঙ্কের।
  • রূপার দাম দুই অঙ্কের।
  • ব্রোঞ্জ একটি অঙ্ক।
  • উপরন্তু, যদি আপনি কোন না থাকলে যেহেতু দঃপূঃ একটি পদক টাইপ প্রদর্শন করা হয় না, একটি টাইপ জন্য 0 পদক একটি গণনা হবে না একটি উত্পাদ [0]

উদাহরণ:

  • [1 Gold, 2 Silvers, 3 Bronzes]মধ্যে পচন হবে [1,1,1,2,2,3]। 321112 এবং 213121 এই মেডেলগুলির জন্য একটি এসই-ফর্ম সংখ্যার দুটি উদাহরণ।
  • [20 Golds, 0 Silvers, 20 Bronzes]মধ্যে পচন হবে [2,2,2,0,0,0,2,0]। 20002022 একটি এসই-ফর্ম নম্বর।
  • [11 Golds, 0 Silvers, 0 Bronzes]মধ্যে পচন হবে [1,1,1,1,1,1]। 111111 এটির জন্য কেবলমাত্র এসই-ফর্ম নম্বর।

এসই নম্বর বিবেচনা করার সময় কোনও শীর্ষস্থানীয় 0 থাকবে না। উদাহরণস্বরূপ, উপরের ২ য় উদাহরণে, 00002222 -> 2222এসই-ফর্ম নম্বর বিবেচনা করা হবে না [20,0,20]

ইনপুট আউটপুট:

ইনপুট হ'ল একটি তালিকা / টুপল / অ্যারে / যা [reputation, gold_medals, silver_medals, bronze_medals]-ই হোক না কেন সমস্ত অ-নেতিবাচক পূর্ণসংখ্যা। এটি অনুমিত অর্ডার তবে পরিবর্তন করা যেতে পারে। আপনি যদি করেন তবে আপনার উত্তরে একটি নোট তৈরি করুন।

সত্য এবং মিথ্যা জন্য আউটপুট যে কোনও দুটি সুসংগত মান।

নিয়মাবলী:

  • ইনপুট সর্বদা বৈধ থাকবে
  • আপনার সর্বদা কমপক্ষে 1 টি উত্তর থাকবে
  • আপনার কোনও পদক থাকতে পারে না, যা সর্বদা মিথ্যা প্রত্যাবর্তন করা উচিত।
  • পদক গণনা বাস্তবতার কোন মূল্য নেই। কয়েকশো স্বর্ণ ও ব্রোঞ্জ না থাকা ভাল Having
  • এটি তাই বাইট জিতে সংক্ষিপ্ত উত্তর।

পরীক্ষার কেস:

#[Rep, Gold, Silver, Bronze] -> Output
[4, 0, 0, 4]       -> True
[1447, 0, 4, 17]   -> True
[74414, 4, 0, 17]  -> True
[4444, 4, 0, 4]    -> True
[4455, 0, 54, 0]   -> True
[5355, 5, 0, 3]    -> True
[53535, 5, 3, 0]   -> True
[4444, 0, 0, 4444] -> True
[444, 4, 0, 0]     -> True
[1234, 0, 0, 1234] -> True
[1234, 0, 0, 4321] -> True

[4444, 1, 0, 1]      -> False
[5555, 5, 0, 55]     -> False
[1234, 1, 23, 4]     -> False
[1, 0, 0, 0]         -> False
[1001001, 0, 10, 10] -> False

তাহলে চ্যালেঞ্জের প্রসঙ্গে খ্যাতি ঠিক কী করে?
অরেঞ্জচেরিজ

3
@ ওরেঞ্জচেরিজ যান্ত্রিকভাবে, কিছুই না। এটি চ্যালেঞ্জকে অনুপ্রাণিত করেছিল কারণ লেখার সময় আমার কাছে 1447 রেপ এবং 4 টি সিলভার, 17 টি ব্রোঞ্জ ছিল।
ভেসকা

1
অর্ডার ছাড়াও কি ইনপুটটি নমনীয়? সুতরাং আমি উদাহরণস্বরূপ একটি ইনপুট-তালিকা [bronze, silver, gold]এবং একটি পৃথক দ্বিতীয় ইনপুট নিতে reputationপারি?
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুজসেন হ্যাঁ ঠিক আছে। কেবলমাত্র আমি যা বলতে চাই না তা হ'ল প্রতিটি সংখ্যা তৈরির অক্ষর / অঙ্কগুলির তালিকার তালিকা হিসাবে ইনপুট নেওয়া।
ভেসকা

কোন সত্যবাদী / মিথ্যা মান আউটপুট জন্য অনুমোদিত বা এটি দুটি সামঞ্জস্যপূর্ণ হতে হবে?
নিক কেনেডি

উত্তর:


11

05 এ বি 1 , 16 14 13 11 10 বাইট

∞×0KJ‚€{íË

ক্রমে [bronze, silver, gold]প্রথম ইনপুট এবং reputationদ্বিতীয় ইনপুট হিসাবে পদকগুলির ইনপুট নেয় ।

-১ বাইট @ গ্রিমিকে ধন্যবাদ

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

           # Push an infinite positive list: [1,2,3,...]
 ×          # Repeat the values in the (implicit) input-list that many times as string
            # (since the input-list contains just 3 values, the rest of the infinite
            #  list is ignored)
  0K        # Remove all 0s (so all "0", "00" and "000")
    J       # Join the strings in the list together
           # Pair this string with the (implicit) second input
      €{í   # Sort the digits in both strings in descending order
         Ë  # And check if both are now equal
            # (after which the result is output implicitly as result)

1
3L-> -1 এর জন্য।
গ্রিমি

1
@ গ্রিমি কখনও কখনও এটি দরকারী যে তালিকাগুলি ক্ষুদ্রতমটিতে ছাঁটা হয়। :) ধন্যবাদ!
কেভিন ক্রুইজসেন

এটি utf-8 এ 19 বাইট, 10 বাইট নয়।
মিথ্যা রায়ান

@ লাইরিয়ান আপনি সঠিক, ইউটিএফ -8 এ এটি সত্যই 19 বাইট। 05 এ বি 1 ই একটি কাস্টম কোডপেজ ব্যবহার করে (কেবল উদাহরণস্বরূপ জেলি এবং চারকোল) , যেখানে এটি প্রতি 256 টি অক্ষর প্রতিটি বাইটে 1 টি এনকোড করে থাকে। হেক্সাডেসিমালে এই 10-বাইট সংস্করণে \x19\xd7\x30\x4b\x4a\x82\x80\x7b\xec\xcbবাইটগুলি --osabieহ'ল পতাকা সহ এই হেক্সাডেসিমাল বাইটগুলি চালানো সম্ভব হওয়া উচিত , তবে 05AB1E এলিক্সির সংস্করণে এটি কীভাবে করবেন তা আমি নিশ্চিত নই (তবে আমি কিছু জিজ্ঞাসা করব অন্যদের যাচাই করতে এবং উত্তরটি দিয়ে আপনার কাছে ফিরে আসবে)।
কেভিন ক্রুইজসেন

@ লিআরয়ান 05 এবি 1 ই (লিগ্যাসি) পাইথন সংস্করণে এটি এটির মতো করা যেতে পারে (এটি অবশ্যই অন্য চ্যালেঞ্জের জন্য আলাদা প্রোগ্রাম) তবে এটি আপনাকে হেক্সাডেসিমাল বাইটগুলি কীভাবে চালিত হবে সে সম্পর্কে ধারণা দেওয়া উচিত।
কেভিন ক্রুইজসেন

7

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

হিসাবে ইনপুট লাগে (['gold','silver','bronze'])('rep')। একটি বুলিয়ান মান প্রদান করে।

b=>r=>[...b.map((n,i)=>n.repeat(+n&&3-i)).join``].sort()+''==[...r].sort()

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


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

হিসাবে ইনপুট লাগে (gold, silver, bronze, 'rep')। একটি বুলিয়ান মান প্রদান করে।

(g,s,b,r)=>(F=s=>[...s].sort()+0)(r)==F([g,g,g,s,s,b].filter(x=>x).join``)

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


7

এমএটিএল , 28 বাইট 20 বাইট 16 বাইট 13 বাইট

মিথ্যাটির জন্য 0 এবং সত্যের জন্য 1 প্রদান করে। এটি অবশ্যই গল্ফ করা যেতে পারে।

[1,3,2,1]Y"t2:7)XzVXzY@Ums0>

খ্যাতি স্কোর পৃথকভাবে নেওয়া যেতে পারে যদি নীচে 16 বাইট, এবং ক্রম [ব্রোঞ্জ, রৌপ্য, সোনার], খ্যাতি
ডাউন 13 বাইট লুই মেন্ডো ধন্যবাদ

3:Y"XzVXzY@Um

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




5

জাপট , 14 13 12 বাইট

íp fn ¬á øUg

হিসাবে ইনপুট লাগে [rep, bronze, silver, gold]

এটি ব্যবহার করে দেখুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

Sample input: U = [1447, 17, 4, 0]
íp            Repeats each value of U by it's index amount e.g. ["","17","44","000"]
  fn          Remove all falsy values when converted to a number e.g. ["17","44"]
    ¬         Concatenate e.g. "1744"
     á        All permutations e.g. ["1744","1744","1474","1447","1474","1447","7144","7144","7414","7441","7414","7441","4174","4147","4714","4741","4417","4471","4174","4147","4714","4741","4417","4471"]
      øUg     Does it contain the first item of the input? 

আমি এটিকে কয়েকটি পৃথক কোণ থেকে কয়েকটি ছুরিকাঘাত নিয়েছি তবে 13 টিরও বেশি ভাল করতে পারছি না।
শেগি

@ শ্যাগি Åএটি অনাবশ্যক ছিল যেহেতু fnপ্রথম মানটি থেকে মুক্তি পাবে। অপসারণ Åএটিকে 12 বাইট তৈরি করে
অজ্ঞতার

এটি utf-8 এ 16 বাইট, 12 বাইট নয়।
মিথ্যা রায়ান

@ লাইরিয়ান কিছু গল্ফিং ভাষা তাদের নিজস্ব এনকোডিং ব্যবহার করে; Japt আইএসও-8859-1` ব্যবহার
অজ্ঞতা প্রতিমূর্তি

এম্বেডিমেন্টফ অজ্ঞতা, আহা, গডডামনিত, আমি কেন এটি চিহ্নিত করিনি ?! আমি জ্যাপের জন্য আমার উন্মুক্ত অনুগ্রহের জন্য সেই মাসটি ছাড়ার পরে আমি বাস্তবে অনুশীলনের বাইরে থেকে অনুভব করি।
শেগি

4

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

,0
,
,(\d*),(\d*),
¶$1$1$1$2$2
%O`.
^(.+)¶\1$

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার স্যুট অন্তর্ভুক্ত। ব্যাখ্যা:

,0
,

শূন্য স্কোর মুছুন।

,(\d*),(\d*),
¶$1$1$1$2$2

স্বর্ণ ও রৌপ্য স্কোর প্রসারিত করুন এবং বিভাজকটিকে একটি নতুন লাইনে রূপান্তর করুন।

%O`.

খ্যাতি এবং প্রসারিত স্কোরগুলি আলাদাভাবে বাছাই করুন।

^(.+)¶\1$

বাছাই করা অঙ্কগুলি তুলনা করুন।


4

জেলি , 10 বাইট

xJ$¹ƇV,Ṣ€E

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

তর্ক 1: [Bronze, Silver, Gold]
তর্ক 2:Rep


এটি utf-8 এ 16 বাইট, 10 বাইট নয়।
মিথ্যা রায়ান

1
@ লাইরিয়ান জেলি একটি কাস্টম কোড পৃষ্ঠা ব্যবহার করে ।
এরিক দি আউটগল্ফার

4

র‌্যাকেট, 149 107 98 বাইট

(λ(r b s g[h(λ x(sort(string->list(apply ~a(remq*'(0)x)))char<?))])(equal?(h r)(h b s s g g g)))

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

র‌্যাকেটে প্রথমবারের মতো গল্ফ করা, তাই এখনও উন্নতির সন্ধান করছে ...

ব্যাখ্যা (মূল দীর্ঘ সংস্করণ, কিন্তু একই ধারণা):

(λ(r b                              ; take rep and badges as arguments
     [g(λ(x)                        ; helper function g which takes a string
         (sort                      ; and returns the sorted
           (string->list x)         ; list of characters
           char<?))])               ; (sort by ascii code)
  (equal?                           ; compare...
    (g(~a r))                       ; g called on the rep converted to string
    (g                              ; and g called on...
      (string-join                  ; the concatenation of
        (map ~a                     ; the stringified elements of
             (append*               ; the flattened list given by
               (filter              ; the elements of the following list where
                 (λ(x)(>(car x)0))  ; the badge count is nonzero:
                 (map make-list     ; repeat the badge counts
                      '(1 2 3)b)))) ; 1, 2, and 3 times respectively
        ""))))

2

কাঠকয়লা , 24 বাইট

1F⁴F↨NχFι⊞υκFχ¿⁻№υι№θIι⎚

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। অর্প প্রতিনিধি, ব্রোঞ্জ, রৌপ্য, স্বর্ণ এবং ফলাফলগুলি 1বৈধ হলে আউটপুটগুলিতে ইনপুট নেয় । ব্যাখ্যা:

1

অনুমান করুন বৈধ।

F⁴F↨NχFι⊞υκ

চারটি ইনপুট মানের উপর লুপ করুন। মানটির 0-সূচকযুক্ত সূচক iযেখানে প্রতিটি মান সময়ের প্রতিটি অঙ্ক পুশ করুন i0খালি অ্যারেতে রূপান্তরকারী হিসাবে এখানে সংখ্যা ভিত্তিক রূপান্তর ব্যবহৃত হয় ।

Fχ¿⁻№υι№θIι⎚

অ্যারের সাথে প্রতিটি অঙ্কের গণনা পরীক্ষা করুন যা প্রথম ইনপুটটিতে মেলে। যদি কোনও মতভেদ থাকে তবে ক্যানভাসটি সাফ করুন।


এটি utf-8 এ 60 বাইট, 24 বাইট নয়।
মিথ্যা রায়ান

@ লাইরিয়ান আমি বলিনি যে তারা ইউটিএফ -8 বাইট ছিল।
নিল

2

জেলি , 18 বাইট

DẋṠƊ€ẋ"3RU¤FṢ⁼⁴DṢ¤

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

এটি কিছুটা খারাপ


এটি utf-8 এ 37 বাইট, 18 বাইট নয়।
মিথ্যা রায়ান

@ লাইআরয়ান জেলি (এবং আরও অনেক গল্ফিং ভাষাগুলি) তাদের নিজস্ব কোড পৃষ্ঠা ব্যবহার করে যেমন সমস্ত 256 1-বাইট কোড ভাষা দ্বারা ব্যবহৃত একটি বর্ণের সাথে মিল রাখে।
হাইপারনিউটারিনো


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