এই ভ্রূণটি নিয়ে এটি ঘুরিয়ে দিন


21

এপিএলের বহু মুখের উদযাপন

নীচের টেবিলের কলাম 1 বা কলাম 2 এর মধ্যে একটি স্ট্রিং দেওয়া হয়েছে, স্ট্রিংটির প্রতিবেশীকে তার ডানদিকে ফিরিয়ে দিন। অন্য কথায়, যদি কলাম 1 এ স্ট্রিং দেওয়া থাকে তবে সেই সারিতে কলাম 2 এর স্ট্রিংটি ফিরে আসুন, এবং কলাম 2 এ একটি স্ট্রিং দেওয়া থাকলে সেই সারিতে কলাম 3 এর স্ট্রিংটি ফিরুন।

কোডপয়েন্টগুলি ( :'গুলি ব্যতীত ) খুব ডানদিকে তালিকাভুক্ত করা হয়েছে।

 কলাম 1 টি কলাম 2 কলাম 3
:⊢  →   →  ⊣:   U + এ 22a2 U + এ 2361 U + এ 22a3
:▷ →   →  ◁:   U + এ 25b7 U + এ 2362 U + এ 25c1
:⋆ →   →  ⋆:   U + এ 22c6 U + এ 2363 U + এ 22c6
:∘ →   →  ∘:   U + এ 2218 U + এ 2364 U + এ 2218
:○ →   →  ○:   U + এ 25cb U + এ 2365 U + এ 25cb
:≀ →   →  ≀:   U + এ 2240 U + এ 2368 U + এ 2240
:∧ →   →  ∨:   U + এ 2227 U + এ 2369 U + এ 2228

উপাখ্যান: এই সমস্ত প্রতীক বেশিরভাগ এপিএল উপভাষায় বৈধ বা প্রস্তাবিত (এগুলি সমস্ত লিঙ্ক)।

প্রতি অনুরোধ, কেবল প্রতীক:

:⊢ ⍡ ⊣:
:▷ ⍢ ◁:
:⋆ ⍣ ⋆:
:∘ ⍤ ∘:
:○ ⍥ ○:
:≀ ⍨ ≀:
:∧ ⍩ ∨:

উত্তর:


8

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

s=>(S="⊢▷⋆∘○≀∧⍡⍢⍣⍤⍥⍨⍩⊣◁⋆∘○≀∨")[S.search(s[1]||s)+7]+(s[1]?'':':')

ডেমো



5

সি # (.নেট কোর) , 148 134 বাইট

s=>{var c="⊢⍡⊣▷⍢◁⋆⍣⋆∘⍤∘○⍥○≀⍨≀∧⍩∨";return c[c.IndexOf(s[s.Length-1])+1]+(s.Length<2?":":"");}

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

  • কিছুটা গল্ফ করার পরে 14 বাইট সংরক্ষণ করা হয়েছে।

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

1
@ মেটেজ স্ট্যান্ডার্ড কোড গল্ফ নিয়ম কোনও ফাংশন / ল্যাম্বদা বা একটি সম্পূর্ণ প্রোগ্রাম জমা দেওয়ার অনুমতি দেয়।
অ্যাডাম মার্টিন

3

পাইথন 3 , 140 137 116 বাইট

lambda n,x=":⊢⍡⊣:▷⍢◁:⋆⍣⋆:∘⍤∘:○⍥○:≀⍨≀:∧⍩∨:":x[x.find(n)+len(n):x.find(n)+3]

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


কলাম 1 ইনপুটগুলির জন্য ব্যর্থ হয়েছে
ক্যালকুলেটরফলাইন

স্ট্রেঞ্জ। আমি আগে চেষ্টা করার পরে এটি কাজ করে না। যাইহোক, চালিয়ে যান।
ক্যালকুলেটরফলাইন

আপনার শেষ চরিত্রটি :চোখ হারিয়েছে ।
xnor

3

জেলি , 56 বাইট

“¤'aẎṚl’b4ạ37ż“ɱaɲṢbḊİcİðdðṖeṖ@h@'i(‘ḅ⁹Ọɓi@€Ṁ‘ị;⁸LḂx@”:¤

একটি সম্পূর্ণ প্রোগ্রাম।

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

দ্রষ্টব্য: ( ɱaɲ!) :অধ্যাদেশগুলিতে কিছু প্যাটার্ন থাকলেও (মাঝারি কলামটি প্রায় একটানা, অনেক বাম এবং অধিকার একই - কেবল দুটি দ্বারা দুটি অফ এবং দশ জন দ্বারা একটি বন্ধ) কেবল এ জাতীয় ক্ষেত্রে এটি যথেষ্ট যথেষ্ট বলে মনে হয় না does ছোট কোনও উপাত্ত সেট করে কোনও বাইটকে এটিকে সংরক্ষণ করে।

প্রথম তেরো বাইটও হতে পারে “¡ÐɼU¹’ṃ“"%#‘

কিভাবে?

“¤'aẎṚl’b4ạ37ż“ ... ‘ḅ⁹Ọɓi@€Ṁ‘ị;⁸LḂx@”:¤ - Main link: list of characters, frown
“¤'aẎṚl’                                 - base 250 number = 4064044420859
        b4                               - to base 4 = [3, 2, 3, 0, 2, 0, 3, 2, 3, 3, 2, 3, 0, 2, 0, 3, 2, 3, 3, 2, 3]
          ạ37                            - absolute diffence with 37 = [34, 35, 34, 37, 35, 37, 34, 35, 34, 34, 35, 34, 37, 35, 37, 34, 35, 34, 34, 35, 34]
              “ ... ‘                    - code page indexes = [162, 97, 163, 183, 98, 193, 198, 99, 198, 24, 100, 24, 203, 101, 203, 64, 104, 64, 39, 105, 40]
             ż                           - zip together = [[34, 162], [35, 97], [34, 163], [37, 183], [35, 98], [37, 193], [34, 198], [35, 99], [34, 198], [34, 24], [35, 100], [34, 24], [37, 203], [35, 101], [37, 203], [34, 64], [35, 104], [34, 64], [34, 39], [35, 105], [34, 40]]
                      ⁹                  - literal 256
                     ḅ                   - convert from base = [8866, 9057, 8867, 9655, 9058, 9665, 8902, 9059, 8902, 8728, 9060, 8728, 9675, 9061, 9675, 8768, 9064, 8768, 8743, 9065, 8744]
                       Ọ                 - convert to characters = "⊢⍡⊣▷⍢◁⋆⍣⋆∘⍤∘○⍥○≀⍨≀∧⍩∨"
                        ɓ                - dyadic chain separation, call that smiles
                         i@€             - first index of €ach frown character in smiles
                            Ṁ            - maximum (any ':' was not found so yielded 0)
                             ‘           - increment
                              ị          - index into smiles
                                       ¤ - nilad followed by link(s) as a nilad
                                ⁸        -   chain's left argument, frown
                                 L       -   length
                                  Ḃ      -   mod 2
                                     ”:  -   literal ':'
                                   x@    -   repeat with swapped @rguments
                               ;         - concatenate
                                         - implicit print

এটি ঠিক সেখানে কিছু গুরুতর জেলি। বিতৃষ্ণা।
অ্যাডম

ম্যাললেট দিয়ে বেসিন অর্ডিনালগুলি "... সেখানে আপনি হাসছেন!"
জোনাথন অ্যালান

2

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

<?=($f=array_flip($y=str_split(⍣⋆⍤∘⍥○⍨≀∧⍩∨⊢⍡⊣▷⍢◁,3))[trim($argn,":")])>7?$y[$f+1].":"[$f%3>1]:$y[$f^1].":"[$f&1];

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


+1 মাত্র array_flip!
অ্যাডম

@ অ্যাডাম array_flipবিকল্প হিসাবে এক বা দুটি বাইট সংক্ষিপ্ত array_searchএবং এই ক্ষেত্রে মাল্টিবাইটের জন্য অনেক বেশি বাইট খরচ হয় cost সি # হিসাবে আর ভাল
লাগছে না

1
চিহ্নগুলির স্ট্রিংগুলি থেকে উদ্ধৃতিগুলি সরানো পাশাপাশি চলবে, এটি একই মান সহ একটি
অপরিজ্ঞাত

1

05AB1E , 58 56 54 বাইট

• î]D£Èтн»“¿āp÷ŒRÃÙŽ^мηWX·ć•3ô8728+çJ3ô':ý':.øI¡`3Ig-£

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

ব্যাখ্যা

• î]D£Èтн»“¿āp÷ŒRÃÙŽ^мηWX·ć•  # push a 63-digit base-255 compressed number
3ô                            # split in pieces of 3
  8728+                       # add 8728 to each
       çJ                     # convert to a string with the corresponding code points
         3ô                   # split in pieces of 3
           ':ý                # merge on ":"
              ':.ø            # surround with ":"
                  I¡          # split on input
                    `         # push as separate to stack, the tail on top
                     3Ig-£    # take the first 3-len(input) characters

উপরের পদ্ধতিটি যে কোনও সংখ্যার সাথে রেঞ্জের সাথে কাজ করা উচিত [8676 ... 8728], তাই যদি আমি সেখানে এমন একটি সংখ্যা খুঁজে পাই যা 3 বাইটে উত্পন্ন করা যায় তবে আমি বর্তমান সমাধানের চেয়ে একটি বাইট সঞ্চয় করতে পারি।

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