পরা টাইল স্ক্র্যাবল


35

সমস্যা

আপনি অরণ্যের মাঝখানে একটি কেবিনে আটকে আছেন, কেবল নিজের মনোরঞ্জনের জন্য কেবল একটি পুরানো স্ক্র্যাবল সেট। পরিদর্শন করার পরে আপনি দেখতে পাচ্ছেন যে স্ক্র্যাবল অক্ষরগুলি এতটা পরিহিত, প্রতিটি অক্ষরের জন্য কেবলমাত্র পয়েন্টগুলি দৃশ্যমান।

তবুও আপনি একটি খেলা খেলার সিদ্ধান্ত নিয়েছেন। আপনি ব্যাগ থেকে সাতটি অক্ষর টানুন এবং এগুলি আপনার ট্রেতে রাখুন, আপনার চ্যালেঞ্জ হ'ল সেই চিঠিগুলি কী হতে পারে তা নির্ধারণ করা।

সুতরাং সাধারণত, পয়েন্টগুলির একটি তালিকা দেওয়া হয় এটি কোনও সম্ভাব্য স্ট্রিং বা অক্ষরের তালিকায় রূপান্তর করে।


স্ক্র্যাবল টাইলস এবং বিতরণ

  • 2 ফাঁকা টাইলস (0 পয়েন্ট স্কোর)
  • 1 পয়েন্ট: E × 12, A × 9, I × 9, O × 8, N × 6, R × 6, T × 6, L × 4, S × 4, U × 4
  • 2 পয়েন্ট: ডি × 4, জি × 3
  • 3 পয়েন্ট: বি × 2, সি × 2, এম × 2, পি × 2
  • 4 পয়েন্ট: এফ × 2, এইচ × 2, ভি × 2, ডাব্লু × 2, ওয়াই × 2
  • 5 পয়েন্ট: কে × 1
  • 8 পয়েন্ট: জে 1 X, এক্স × 1
  • 10 পয়েন্ট: প্রশ্ন × 1, জেড × 1

সুতরাং আপনার যদি পয়েন্টগুলির একটি তালিকা থাকে [10,10,8,5,1,1,1]তবে "QZJKEEE"তা বৈধ হবে তবে বৈধ "QQJKEEE"হবে না (যেহেতু ব্যাগে কেবল 1 কিউ টাইল রয়েছে)


সমস্যা নির্দিষ্ট বিধি

  • আপনি ধরে নিতে পারেন যে সমস্ত ইনপুট বৈধ এবং এখানে সর্বদা 7 টি টাইল থাকবে (যেমন এটি সাত 10 পয়েন্টের টাইলের তালিকা হবে না এবং 9 টি টাইল হবে না)
  • আপনি ধরে নিতে পারেন ব্যাগ থেকে কোনও টাইল আগে টানা হয়নি (সুতরাং বিতরণটি ইংরাজী টাইলগুলির উপরের সংজ্ঞায়িত হিসাবে প্রমিত বিতরণ)
  • আপনাকে বৈধ শব্দ তৈরি করতে হবে না, কেবলমাত্র বৈধ অক্ষরের অক্ষর রয়েছে।
  • আপনার স্ট্রিংয়ের ক্রমটি অপ্রাসঙ্গিক যতক্ষণ না প্রতিটি টাইলের জন্য সংশ্লিষ্ট বর্ণ রয়েছে।
  • পয়েন্টগুলি উপরের সংজ্ঞায়িত হিসাবে স্ট্যান্ডার্ড ইংলিশ স্ক্র্যাবল টাইল পয়েন্টের উপর ভিত্তি করে।
  • আপনি উপরের বা নিম্ন ক্ষেত্রে আউটপুট করতে পারেন, ফাঁকা টাইলের জন্য আপনি কোনও স্থান অক্ষর বা আন্ডারস্কোর '_' আউটপুট দিতে পারেন
  • আপনার উত্তরটি টাইলগুলির কোনও তালিকা, স্ট্রিং, অ্যারে বা সিকোয়েন্সের মতো কোনও যুক্তিসঙ্গত উপস্থাপনা হিসাবে আউটপুট দিতে পারে

সাধারাইওন রুল:

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

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

স্পষ্টতই যেহেতু আপনি যে কোনও সম্ভাব্য মান আউটপুট করতে পারবেন কঠোর পরীক্ষার কেসগুলি সংজ্ঞায়িত করা কঠিন।

সম্ভাব্য বৈধ রিটার্ন মান সহ কয়েকটি ক্ষেত্রে :

[10,0,10,5,8,8,0] -> "Q ZKJX "
[1,1,1,1,1,1,1] -> "EEEEEEE"
[1,2,3,4,5,8,0] -> "NDBHKJ "
[2,2,2,2,2,2,2] -> "DGDGDGD"

একটি অবৈধ রিটার্ন মান সহ কয়েকটি ক্ষেত্রে :

[10,0,10,5,8,8,0] -> "Q QKJX "  - Too many Qs 
[1,1,1,1,1,1,1] -> "EEEEEE "  - Space is 0 points not 1
[1,2,3,4,5,8,0] -> "NDBH" - Too short
[1,2,3,4,5,8,0] -> "NDBHKJ  I" - Too long
[1,2,3,4,5,8,0] -> "ÉDBHKJ1" - Contains none scrabble characters
[2,2,2,2,2,2,2] -> "GDGDGDG" - Contains too many Gs (case for invalid cycling)

আমার কি স্ট্রিং আউটপুট করতে হবে বা একটি তালিকা ঠিক আছে?
মালটিসেন

আপনি একটি তালিকা আউটপুট করতে পারেন, আমি প্রশ্নটি আপডেট করব
মেয়াদোত্তীর্ণ ডেটা

1
আমি ফাঁকা জন্য কি আউটপুট করতে পারি?
মালটিসেন

3
প্রস্তাবিত পরীক্ষার কেস: [2,2,2,2,2,2,2]( সাইকেল চালানোর পদ্ধতি যদি ব্যবহার করা হয় তবে তার Dপরিবর্তে শুরু করা একমাত্র ক্ষেত্রে G)
আর্নল্ড

1
বিজ্ঞপ্তিগুলি হ'ল শূন্যস্থান ছাড়াই সেই ব্যক্তির নাম। অর্থাৎ মেয়াদোত্তীর্ণ ডেটা @ এক্সপায়ার্ডডাটা হয়ে যাবে।
তাউ

উত্তর:


8

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

@ সুপের্যাট দ্বারা প্রস্তাবিত একটি সংক্ষিপ্ত রূপ

a=>a.map(o=n=>'?ED?BWQ?_EG?CFZ?_EDJMH?K?EGXPV'[n*9.4+(o[n]=7-~o[n])&31])

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


জাভাস্ক্রিপ্ট (ES6),  137 ... 84 78 77  76 বাইট

নীলের সাইক্লিং পদ্ধতিটি ব্যবহার করে 10 বাইট সংরক্ষণ করা হয়েছে

টাইলগুলির একটি তালিকা ফেরত দেয়। _ফাঁকা টাইলস ব্যবহার করে ।

a=>a.map(o=n=>"____FHVWGDGD_K__BCMPEEEE_ZQ__XJ"[n*20%44%32+(o[n]=-~o[n])%4])

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

কিভাবে?

ঠিক 4 টাইলস একটি গ্রুপ মাধ্যমে পয়েন্ট প্রতিটি সংখ্যা, আমরা চক্র জন্য, দিয়ে শুরু দ্বিতীয় প্রতিটি গ্রুপের টালি (এই জন্য গুরুত্বপূর্ণ Gবনাম D):

 points | group | max. sequence
--------+-------+---------------
    0   | ____  | __
    1   | EEEE  | EEEEEEE
    2   | GDGD  | DGDGDGD
    3   | BCMP  | CMPBCMP
    4   | FHVW  | HVWFHVW
    5   | _K__  | K         \
    8   | _XJ_  | XJ         }--- these letters may only appear once each
   10   | _ZQ_  | ZQ        /

এই সমস্ত গ্রুপ 31 টি অক্ষরের একক স্ট্রিং হিসাবে সংরক্ষণ করা হয়েছে:

____FHVWGDGD_K__BCMPEEEE_ZQ__XJ
^   ^   ^   ^   ^   ^   ^   ^
0   4   8  12  16  20  24  28

বিশেষ দ্রষ্টব্য : আমরা চূড়ান্ত সঞ্চয় করতে প্রয়োজন হবে না "_"যে "_XJ_", যেমন তবুও এটি ব্যবহার করা হবে না।

এনআমিএন

আমিএন=((20×এন)গেলিক ভাষার44)গেলিক ভাষার32

  n | *20 | mod 44 | mod 32 | group
----+-----+--------+--------+-------
  0 |   0 |    0   |    0   | ____
  1 |  20 |   20   |   20   | EEEE
  2 |  40 |   40   |    8   | GDGD
  3 |  60 |   16   |   16   | BCMP
  4 |  80 |   36   |    4   | FHVW
  5 | 100 |   12   |   12   | _K__
  8 | 160 |   28   |   28   | _XJ_
 10 | 200 |   24   |   24   | _ZQ_


ও [এন] প্রতিবার 8 দ্বারা অগ্রসর হওয়ার ক্ষেত্রে অগ্রগতির জন্য একটি অতিরিক্ত চরিত্রের জন্য ব্যয় হবে, তবে একজনকে নেট জয়ের জন্য% 4 এবং% 32 উভয়ই প্রতিস্থাপন করার অনুমতি দেবে। আমার সেরা, আপনার উপর ভিত্তি করে, হবে a=>a.map(o=n=>('?ED?BWQ?_EG?CFZ?_EDJMH?K?EGXPV'[n*9.4+(o[n]=7-~o[n])&31]))। একটি সংক্ষিপ্ত, "প্রায়" সংস্করণ a=>a.map(o=n=>("_EDBFK_EDCHJQEGMVXZEGPW"[n+(o[n]=5-~o[n])%24]))তবে সেই পদ্ধতির জন্য 8 এবং 10 এর মানগুলিকে 11 এবং 12 তে মানচিত্রের জন্য একটি কমপ্যাক্ট উপায়ের প্রয়োজন হবে, সাথে সাথে একের পর এক সমস্যা সমাধানের জন্য স্ট্রিংটিতে সামান্য সমন্বয় প্রয়োজন।
ক্যাট

@ সুপের্যাট ভালো লাগছে! আমি আগামীকাল এটি ঘনিষ্ঠভাবে দেখতে হবে।
আরনাউল্ড

@ সুপের্যাট আরেকটি আকর্ষণীয় সূত্রটি হ'ল '_??VKWZHQFP?M?CGBGXDJD'[(n*96+(o[n]=32-~o[n]))%68%33]||'E'কেবল 22 টি অক্ষরের লুকিং স্ট্রিং। যদিও আপনার কোডের চেয়ে সম্পূর্ণ কোডটি এখনও 2 বাইট দীর্ঘ।
আরনাউল্ড

7

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

⭆觧⪪”&↖“Vh_z↶∕¡⌈∨₂χ¹‖◨⌊″”¶ι№…θκι

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

 θ                  Input array
⭆                   Map over elements and join
     ”...”          Literal string " \nE\nDG\nBCMP\nFHVW\nK\n\n\nJX\n\nQZ"
    ⪪     ¶         Split on newlines
   §       ι        Indexed by current element
  §                 Cyclically indexed by
            №…θκι   Number of times current element has already appeared
                    Implcitly print

5

জেলি ,  31 30 27  26 বাইট

“ñẒẎYñ(“Nut¦hß’ṃØA;€⁶ɓṢĖœị

পূর্ণসংখ্যার একটি তালিকা গ্রহণ করে একটি মোনাডিক লিঙ্ক যা অক্ষরের একটি তালিকা দেয়।
- আমার আগের, নীচে এবং নিক কেনেডি'র উন্নতিতে আমার এক ধরণের জালিয়াতি

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

আউটপুট একই ক্রমে ইনপুট হিসাবে দেওয়া হয় না (এটি অনুমোদিত)।

উত্তরে ভাষায় আমার নিজের 2 টি সংযোজন ব্যবহার করা প্রায়শই ঘটে না! ( এবংɓ এখানে)।

কিভাবে?

“...“...’ṃØA;€⁶ɓṢĖœị - Link: list of integers, V     e.g. [10,1,0,3,2,1,10]
“...“...’            - list of base 250 integers          [28089224382041, 77611203526272]
          ØA         - 'ABC...XYZ'
         ṃ           - base decompress (vectorises)       ["EDMFKZZJZQ", "NGPYKZZXZZ"]
            ;€       - for €ach: concatenate:
              ⁶      -   a space                          ["EDMFKZZJZQ ", "NGPYKZZXZZ "]
               ɓ     - start a new dyadic chain with swapped arguments - i.e. f(V,that)
                Ṣ    - sort                               [0,1,1,2,3,10,10]
                 Ė   - enumerate                          [[1,0],[2,1],[3,1],[4,2],[5,3],[6,10],[7,10]]
                  œị - multi-dimensional index into       " NEGMZQ"
                       (1-based and modular)

আগের @ 30

“²rṛʂṂø5=Ɓṇ^N¥Y»⁾tky;⁶s2ɓṢĖUœị

পূর্ণসংখ্যার একটি তালিকা গ্রহণ করে একটি মোনাডিক লিঙ্ক যা অক্ষরের একটি তালিকা দেয়।

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

এটির আউটপুটটিও মিশ্র-কেস (এটি অনুমোদিত)।

কিভাবে?

“...»⁾tky;⁶s2ɓṢĖUœị - Link: list of integers, V          e.g. [10,1,0,3,2,1,10]
“...»               - compression of dictionary entries:
                    -   "end", "GMP", "fyttes", "adj", and "xci" and the string "qz"
                    -                                         "endGMPfyttesadjxciqz"
        y           - translate with:
     ⁾tk            -   ['t', 'k']                            "endGMPfykkesadjxciqz"
         ;⁶s2ɓṢĖUœị - ...
                    - ...then like the above method (except U reverses each pair of indices)
                                                              " neGMzq"

আমার মনে হয় আপনি আপনার প্রথম ব্যাখ্যায় একটি টাইপ করেছেন। ' NWGMZQ'মাল্টি-ডাইমেনশনাল ইনডেক্সের পরে Wস্ট্রিংটিতে কোনও ছাড়াই বেশ কীর্তি হবে । ;)
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুইজসেন - হ্যাঁ, টাইপো ফিক্সডাব্লুড; ধন্যবাদ!
জনাথন অ্যালান

4

পাইথ - 92 86 83 81 80 75 60 52 49 42 36 বাইট

ইনপুট মাধ্যমে লুপস, উপলব্ধ অক্ষর পপিং। আমার কেবলমাত্র প্রতিটি চিঠির একটি আছে যা একসাথে সেই পয়েন্ট বিভাগের জন্য 7 দেয়। এখন প্যাকযুক্ত স্ট্রিং এনকোডিং ব্যবহার করা হচ্ছে।

K[M*L7c."B_êº çÑOÒ
7âCkÑ"\Lm.)@K

K                       Assign to K       
 [M                     Map list(for popping). Uses a quirk of M to splat each first
  *L7                   Map repeating each string by 7
   c      \L            Split on occurrences of 'L'
    ."..."              Packed string encoding of the needed letters
m              (Q)      Map on input (input is taken implicitly)
 .)                     Pop. This returns the first element after removing it
  @K                    Index into K
   (d)                  The loop variable is given implicitly

BTW, এই মূল অক্ষরের স্ট্রিং এনকোডিং সামনে হল: "_ E DG BCMP FHVW K JX QZ"

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



3

05 এ বি 1 ই , 70 52 39 38 29 26 25 25 বাইট

{ε.•3Oû}α›ηö‡.ÝŽ{•2ôÁyèNè?

-18 ধন্যবাদ বাইট @ExpiredData@ মাল্টেসেনের পাইথ উত্তর
থেকে একই প্রসার 7 মাপের ব্যবহার করে -13 বাইটস ।
-9 বাইটস @ জোনাথন অ্যালান এর জেলি উত্তরের একটি বন্দর তৈরি করে , তাই তাকে উর্ধ্বমুখী করতে নিশ্চিত হন!
-3 বাইটস @ এমিগানাকে ধন্যবাদ

অক্ষরগুলির তালিকার ফলাফল এবং ছোট হাতের অক্ষর এবং ফাঁকা জায়গাগুলি ব্যবহার করে।

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

ব্যাখ্যা:

{                      # Sort the (implicit) input-list
 ε                     # Map each character `y` in this list to:
  .•3Oû}α›ηö‡.ÝŽ{•     #  Push compressed string "endgmpfykkzzzzjxzzqz "
                  2ô   #  Split into parts of size 2
                    Á  #  Rotate it once towards the left so the space is leading
  yè                   #  Use integer `y` to index into the string-pairs
    Nè                 #  Then get the `N`'th character of the string-pair (with automatic
                       #   wraparound), where `N` is the index of the loop

আমার এই 05AB1E টিপটি দেখুন (বিভাগটি কীভাবে স্ট্রিংগুলি সংকুচিত করবেন? ) কেন .•3Oû}α›ηö‡.ÝŽ{•তা বোঝার জন্য "endgmpfykkzzzzjxzzqz "


পূর্ববর্তী 38 বাইট উত্তর:

.•Mñ&Àû«ì{₆v*Å+µ-•#ðšε7∍}IvDyèн©?ε®õ.;

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

ব্যাখ্যা:

.•Mñ&Àû«ì{₆v*Å+µ-•    # Push compressed string "e dg bcmp fhvw k   jx  qz"
                  #   # Split on spaces: ["e","dg","bcmp","fhvw","k","","","jx","","qz"]
                   ðš # Prepend a space to this list
 ε7∍}                 # Extend each string to size 7:
                      #  ["       ","eeeeeee","dgdgdgd","bcmpbcm","fhvwfhv","kkkkkkk","","","jxjxjxj","","qzqzqzq"]
     Iv               # Loop `y` over the input-list:
       Dyè            #  Get the `y`'th string from a copy of the list
          н           #  Get it's first character
           ©?         #  Store it in the register, and print it without trailing newline
        ε             #  Then map each string in the list to:
         ®õ.;         #   Remove the first occurrence of the character from the register

আমার এই 05AB1E টিপটি দেখুন (বিভাগটি কীভাবে স্ট্রিংগুলি সংকুচিত করবেন? ) কেন .•Mñ&Àû«ì{₆v*Å+µ-•তা বোঝার জন্য "e dg bcmp fhvw k jx qz"


আপনি ব্যবহার করতে পারবেন না " 0eeeeeee0ddddggg0bbccmmp0ffhhvvw0k000jx00qz"?
মেয়াদোত্তীর্ণ ডেটা

অবশ্যই এক্সপায়ার্ডডাটা আহ, অবশ্যই। আপনি কেবল 7 চিঠি আঁকেন .. ধন্যবাদ! এটি পরিবর্তন করবে।
কেভিন ক্রুইজসেন

1
আপনি {vপরিবর্তে 7Fএবং yপরিবর্তে ব্যবহার করে 3 বাইট সংরক্ষণ করতে পারেন I{Nè
এমিগানা

@ এমিগনা আহ, অবশ্যই .. ধন্যবাদ!
কেভিন ক্রুইজসেন

2

সি (জিসিসি) , ১১০ বাইট

_[]={0,7,14,21,0,0,22,0,24};f(char*s){for(;*s+1;s++)*s=*s?*s-1?"DDDDGGGBBCCMMPFFHHVVWKJXQZ"[_[*s-2]++]:69:32;}

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

ব্যবহার করে _"DDDDGGGBBCCMMPFFHHVVWKJXQZ"0 এবং 1 ব্যতিক্রম সহ স্থিতিযুক্ত স্ট্রিংয়ের গতিগতভাবে অ্যারেটিকে সূচি হিসাবে ।

আর্গুমেন্টটি -1স্কোরগুলির একটি নির্ধারিত অ্যারে যা স্থানে- -1স্থির স্ট্রিংয়ে রূপান্তরিত হয় ।




1

জেলি , 34 32 বাইট

“¿RÇĊƈ⁸⁾%ỵṆþœsṀṂ’ṃØAṣ”A;⁶ẋ€7⁸ịḢ€

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

আমি যখন এটি লিখেছিলাম তখন একটি ছোট্ট জেলি উত্তর ছিলাম না, এবং এটি একটি ভিন্ন পদ্ধতির ব্যবহার করে তাই আমি ভেবেছিলাম যে পোস্ট করাও উপযুক্ত।

2 জোড় বাঁচানোর জন্য @ জোনাথন অ্যালানকে ধন্যবাদ!


বেস-ডিকম্প্রেশন ব্যবহার করে , আপনি 2 বাইট সংরক্ষণ
জোনাথন অ্যালান

1

পাইথন 3 , 178 142 135 127 112 117 বাইট

def f(l):
 d=list(map(list,"  _EEEEEEE_DDDDGGG_BBCCMMP_FFHHVVW_K___JX__QZ".split('_')))
 return[d[i].pop()for i in l]

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

-1 বাইট ধন্যবাদ সিড্লেনে

ম্যাথম্যান্ডনে সঠিক ধন্যবাদ



d=list(map(list,"...".split('_')))আরেকটি বাইট সংরক্ষণ করতে
সিড্লেনে

এই ফাংশনটির fসম্ভবত নামকরণের দরকার নেই, তাই আপনি 2 বাইট সংরক্ষণ করতে পারেন। যাইহোক, fএর এন্ট্রি গ্রহণ করে d, সুতরাং আমি নিশ্চিত নই যে এটি theক্যমত্যের প্রয়োজনীয়তার সাথে খাপ খায় যে "ফাংশনটি প্রায়শই পুনরায় ব্যবহারযোগ্য হয়ে উঠতে হবে, বিনা বাধায় ... জমা দেওয়ার সাথে সাথে অন্য কোনও কোড।" (উদাহরণস্বরূপ, f([10,0,10,5,8,8,0])একাধিকবার দৌড়ানোর ফলে একটি ত্রুটি হতে পারে Please) দয়া করে এখানে মেটা আলোচনা দেখুন: কোডগলফ.মেটা.স্ট্যাকেক্সেঞ্জাও.এ
ম্যাথমান্ডান

0

পাইথন 2 , 102 বাইট (বা সম্ভবত 95?)

(পাইথন 3 এর জন্যও জরিমানা))

lambda a:''.join([r*7for r in'_ E DG BCMP FHVW K * * JX * QZ'.split()][x][:a.count(x)]for x in set(a))

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

আমি মনে করি না যে নিম্নলিখিতগুলি গ্রহণযোগ্য হবে:

lambda a:[[r*7for r in'_ E DG BCMP FHVW K * * JX * QZ'.split()][x][:a.count(x)]for x in set(a)]

এই দ্বিতীয় সংস্করণ মত আউটপুট দিতে হবে ['__', 'JX', 'QZ', 'K']। সুতরাং অক্ষরগুলি সঠিক হবে, তবে সেগুলি পয়েন্ট মান দ্বারা সংগ্রহ করা হবে। (এটি যদি গ্রহণযোগ্য হয় তবে এটি 7 বাইট সাশ্রয় করতে পারে))


0

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

$b=[_,E,DG,BCMP,FHVW,K,8=>JX,0,QZ];foreach($argv as$t){echo$c=($d=$b[$t])[0];$b[$t]=substr($d,1).$c;}

স্বতন্ত্র প্রোগ্রাম হিসাবে, কমান্ড লাইনের মাধ্যমে ইনপুট:

$ php s.php 10 0 10 5 8 8 0
"Q_ZKJX_"

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

বা একটি ফাংশন হিসাবে 112 বাইট

function($a){$b=[_,E,DG,BCMP,FHVW,K,8=>JX,0,QZ];foreach($a as$t)$b[$t]=substr($d=$b[$t],1).$c[]=$d[0];return$c;}

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

আউটপুট

[10,0,10,5,8,8,0]   "Q_ZKJX_"
[1,1,1,1,1,1,1]     "EEEEEEE"
[1,2,3,4,5,8,0]     "EDBFKJ_"
[2,2,2,2,2,2,2]     "DGDGDGD"


0

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

*>>.&{(<_ E DG BCMP FHVW K _ _ JX _ QZ>[$_]x 7).comb[%.{$_}++]}

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

<_ E DG BCMP FHVW K _ _ JX _ QZ> # array indexed on tile value
(<...>[$_] x 7)     # pull letters for this value, repeat 7 times to catch E
          %         # anonymous stateful hash
           .{$_}    # element for this tile value
                ++  # post increment value to move position
       .comb[...]   # characters to array, pull this incrementing index

সুতরাং মূলত এটি প্রতিটি টাইল মানের জন্য অফসেটগুলির সন্ধান করে এবং উপলব্ধ সেট থেকে একটি অক্ষর টানতে অফসেট ব্যবহার করে প্রয়োজনীয় হিসাবে তাদের বাড়ায়।

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