একটি তালিকার "আবদ্ধ আকার" সন্ধান করুন


12

নীচের নিয়মগুলি দ্বারা uনেস্টেড তালিকার "কেবল মোড়কযুক্ত আকার" ফাংশনটি সংজ্ঞায়িত করা যাক l(কেবলমাত্র তালিকা রয়েছে):

  • যদি lখালি থাকে তবে u(l)1।
  • যদি lশূন্য থাকে u(l)না তবে প্রতিটি উপাদানের মোড়কযুক্ত আকারের যোগফলের সমান l

আপনার কাজ হ'ল এমন একটি প্রোগ্রাম (বা ফাংশন) লিখুন যা ইনপুট হিসাবে একটি তালিকা নেয় এবং তালিকার মোড়কানো আকার (আউটপুট) দেয়।

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

[]                                           ->  1
[[[]],[]]                                    ->  4
[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19
[[[[]]]]                                     ->  4

এটি , তাই সংক্ষিপ্ততম প্রোগ্রামটি (বাইটে) জিতেছে।


2
ইনপুট কি স্ট্রিং হিসাবে গ্রহণ করা যাবে, অর্থাত্ এনকোলেসিং কোট চিহ্ন সহ? আমরা কি ()পরিবর্তে ব্যবহার করতে পারি []?
লুইস মেন্ডো

আপনার দ্বিতীয় উদাহরণের [[[]][]]পরিবর্তে আমরা কি এই বিন্যাসে ইনপুট নিতে পারি [[[]],[]]?
মুকুল কুমার

এর আকার কত ["This is some text [with square brackets in] ...[& maybe more than one pair]"]?
জোনাথন অ্যালান


2
@ DRMcMoylex- এর সাথে আমি একমত নই। সংখ্যার ]গণনাটি বেশ কয়েকটি ভাষায় সংক্ষিপ্ত সমাধান বলে মনে হচ্ছে, এমন অনেকগুলি উত্তর রয়েছে যা আসলে তালিকার কারসাজির মাধ্যমে এই চ্যালেঞ্জটি সমাধান করে, এবং কমপক্ষে একটি নির্দিষ্ট চরিত্রের উপস্থিতি গণনা করে এসোলেংগুলিতে গণনা থেকেও আলাদা different একটি ইনপুট চরিত্রের ঘটনা।
মার্টিন ইন্ডার

উত্তর:


23

রেটিনা , 1 বাইট

]

এটি অনলাইন চেষ্টা করুন! (প্রথম লাইন একটি লাইনফিড-বিচ্ছিন্ন পরীক্ষা স্যুট সক্ষম করে))

ডিফল্টরূপে, রেটিনা ইনপুটটিতে প্রদত্ত রেজেক্সের মিলগুলির সংখ্যা গণনা করে। মোড়কযুক্ত আকারটি কেবল ইনপুটটিতে []জোড়া সংখ্যার সমান এবং তাই সংখ্যার সাথে মিলিয়ে ]


1
কাজের জন্য সঠিক সরঞ্জাম!
সাইয়েস

@ মার্টিনএন্ডার আপনি কি কোনও কোডগলফের প্রশ্নে বাইটগুলি বাঁচাতে আপনার ভাষাতে নতুন ফাংশন যুক্ত করেন?
lois6b

5
@ লুইস 6 বি পূর্ববর্তীভাবে নয়, তবে ভবিষ্যতের ব্যবহারের জন্য ভাষাটিকে আরও শক্তিশালী করার জন্য আমি মাঝে মাঝে ভাষায় উন্নতি করি। এটি বলেছিল, এই উত্তরটি পিছন থেকে রেটিনার প্রথম সংস্করণে কাজ করবে যখন এটি সিনট্যাকটিক ওভারহেড ছাড়াই ইনপুটটির বিরুদ্ধে একক রেজেক্স (/ প্রতিস্থাপন) চালানোর সহজ উপায় ছিল।
মার্টিন ইন্ডার

11

গণিত, 9 বাইট

LeafCount

দেখা যাচ্ছে যে এর জন্য একটি বিল্ট-ইন রয়েছে ...

মনে রাখবেন যে তালিকাগুলিতে যদি তালিকাভুক্ত উপাদান না থাকে তবে এটি কাজ করবে না। কি LeafCountসত্যিই আছে পারমাণবিক subexpressions সংখ্যা গণনা করা হয়। ইনপুট জন্য {{}, {{}}}, অভিব্যক্তি আসলে পড়ে:

List[List[], List[List[]]]

এখানে পারমাণবিক subexpressions আসলে মাথা হয় List


1
ম্যাথামেটিকায় প্রতিটি কিছুর জন্য অন্তর্নির্মিত ব্যবস্থা রয়েছে ...
kirbyfan64sos


7

ব্রেইনফাক, 71 61 59 বাইট

+[>,]<[>-[<->---]+<------[->[-]<]>[-<+>]<[-<[<]<+>>[>]]<]<.

প্রশ্নে প্রদত্ত ফর্ম্যাটে এসটিডিআইএন থেকে ইনপুট নেয় এবং এমন চরিত্রের আউটপুট দেয় যার ASCII কোডটি তালিকার "মোড়কানো আকার"।

আমি এখনও ব্রেইনফাকের একজন সম্পূর্ণ অপেশাদার, তাই সম্ভবত এখনও অনেকগুলি অপটিমাইজেশন তৈরি করা যেতে পারে।

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

Ungolfed:

read input to tape
>>+[>,]<
current tape: (0 0 1 a b *c)
where abc represents input and * is IP

now we loop over each character (from the end)
this loops assumes we are starting on the (current) last char
and it zeroes the entire string by the time it finishes
[

  subtract 91 from this character
  technically we only subtract 85 here and correct the answer
  with the 6 minus signs below
  >-[<->---]
  current tape: (0 0 1 a b cminus91 *0)

  invert the result and put that in the next cell
  +<------[->[-]<]>
  current tape: (0 0 1 a b 0 *c==91)

  move that result back to the original cell
  [-<+>]<
  current tape: (0 0 1 a b *c==91)

  if the result is true we found a brace
  increment the very first cell if so
  [-<[<]<+>>[>]]<
  current tape: (count 0 1 a *b)

]
current tape: (count *0)

<.

5

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

f=([x,...a])=>x?f(x)+f(a):1

যখন আমি পুনরাবৃত্তিটি পরিষ্কারভাবে এটি চালু করি তখন আমি এটি পছন্দ করি। এটি মূলত ইনপুটটির গভীরতা-প্রথম অনুসন্ধান, যখনই কোনও অ্যারের সমাপ্তি আসে 1 টি যোগ করে।

যদি খালি অ্যারে জেএসে মিথ্যা হয়, এটি 24 বাইট হতে পারে:

f=a=>a?f(a.pop())+f(a):1

কিন্তু হায়, এটা না। অন্যান্য প্রচেষ্টা:

f=a=>a.reduce((n,x)=>n+f(x),1) // Works, but 3 bytes longer
f=a=>a.map(x=>n+=f(x),n=1)&&n  // Works, but 2 bytes longer
f=a=>(x=a.pop())?f(x)+f(a):1   // Works, but 1 byte longer
f=a=>a[0]?f(a.pop())+f(a):1    // Works, but same byte count
f=a=>a+a?f(a.pop())+f(a):1     // Doesn't work on any array containing 1 sub-array
f=a=>a-1?f(a.pop())+f(a):1     // Same

চান f=a=>a[0]?f(a.pop())+f(a):1কাজ করে? (যদিও একই বাইট গণনা))
নিল

@ নীল হ্যাঁ, আমি ইতিমধ্যে চেষ্টা করেছি এমন সমাধানগুলির মধ্যে এটি অন্যতম। আমি মনে করি না যে কোনও সংক্ষিপ্ত হওয়া সম্ভব ...
ETH প্রোডাকশন

(যাইহোক, আমি অযৌক্তিকর পক্ষে গিয়েছিলাম f=a=>a.reduce((n,a)=>n+f(a),1)Now এখন, f=(n,a)=>n+a.reduce(f,1)কেবল 24 বাইট রয়েছে, তবে দুঃখের বিষয় প্যারামিটারগুলি ভুল ক্রমে রয়েছে))
নীল

@ নীল আমি প্রথমে এটি প্রথম করেছি, এটি 1 বাইট দ্বারা সংক্ষিপ্ত করা ব্যতীত:f=a=>a.map(a=>n+=f(a),n=1)&&n
ইটিএইচ প্রডাকশন

আহা, দুঃখিত, আমি সম্পাদনার ইতিহাস ব্রাউজ করার কথা ভাবিনি।
নীল

4

পার্ল, 9 8 7 + 1 = 8 বাইট

-pপতাকা প্রয়োজন

$_=y;[;

দুই বাট সাশ্রয় করার জন্য @ দাদাকে ধন্যবাদ (আমি এই সেমিকোলনটি বিটিডব্লিউটি শোষণ করছি)


1
-p1 বাইট সংরক্ষণ করতে;)
দাদা

আপনি y;[;আরও একটি বাইট সংরক্ষণ করতে ব্যবহার করতে পারেন
দাদা


3

05 এ বি 1 ই , 4 বাইট

I'[¢

I    Get input as a string
 '[¢ Count the opening square brackets and implicitly print them

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

আমি মনে করি এটি আরও গল্ফ করা যেতে পারে তবে 'আমি' বাধ্যতামূলক, অন্যথায় ইনপুটটিকে স্ট্রিংয়ের পরিবর্তে সত্যিকারের অ্যারে হিসাবে বিবেচনা করা হয়


2
"[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]]"ইনপুটটিতে সেই Iপ্রয়োজনীয়তা সরিয়ে দেয় , যদিও এটি অনুমোদিত কিনা তা আমি জানি না।
ম্যাজিক অক্টোপাস আরন

1
@ কারাসোকম্পিউটিং: এটি বর্তমানে অনুমোদিত নয়, তবে এটি পরিবর্তিত হতে পারে (আমি দেখতে লুইস ওপিকে একই প্রশ্ন জিজ্ঞাসা করছেন)
এমিগানা

ডাং, আমার 14 ঘন্টা আগে।
অলিভার নি

3

ভোল্টেজ , 8 বাইট

&-
#,(/!

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

ব্যাখ্যা

এটি কিছুটা বিটওয়াইজ ম্যাজিকের মাধ্যমে খোলার বন্ধনী গণনা করে। তাহলে আমরা bitwise ও চরিত্র কোডের ফলাফল বিবেচনা [, ,এবং ]সঙ্গে 2আমরা পাই:

[ , ]
2 0 0

সুতরাং আমরা যদি প্রতিটি ক্যারেক্টারের জন্য এই ক্রিয়াকলাপের ফলাফলটি যোগ করি তবে আমরা যা চাই তার দ্বিগুণ মূল্য পাই get

কোড নিজেই হিসাবে, শুরুতে 2x2 ব্লকটি একটি ছোট লুপ। প্রথম পুনরাবৃত্তির সময় &-তারা স্ট্যাকের নীচে অন্তর্ভুক্ত ব্যক্তির উপরে একটি স্পষ্ট শূন্য রাখে really এটি চলমান মোট (এবং এটি পরে একটি বাইট সংরক্ষণ করার জন্য নেতিবাচক হবে)। তারপরে লুপটি নীচে যায়:

,   Read character. At EOF this gives -1 which causes the instruction pointer to
    leave the loop. Otherwise, the loop continues.
#   Push the stack depth, 2.
&   Bitwise AND.
-   Subtract from running total.

একবার আমরা লুপটি ছেড়ে গেলে, নিম্নলিখিত লিনিয়ার বিটটি কার্যকর করা হয়:

(   Decrement to turn the -1 into a -2.
/   Divide negative running total by -2 to get desired result.
!   Print.

আইপি তখন একটি মৃতকে আঘাত করে এবং ঘুরে ফিরে। যখন এটি /আবার কার্যকর করার চেষ্টা করে, শূন্য দ্বারা চেষ্টা করা বিভাগের কারণে প্রোগ্রামটি সমাপ্ত হয়।


3

পাইথন 3 2, 36 23 বাইট

lambda x:`x`.count("[")

আমি লক্ষ্য করেছি যে স্ট্রিং উপস্থাপনার u(l)সংখ্যার সমান , তাই এই প্রোগ্রামটি এটি করার চেষ্টা করে। এটি করার আরও একটি উপায় খুঁজে পেয়ে সম্ভবত এটি আরও গল্ফ করা যেতে পারে, যদিও ...[l


6
23 বাইট:lambda x:`x`.count("[")
এক্রোলিথ

2

পাইথন, 26 বাইট

f=lambda a:sum(map(f,a))+1

সাধারণ পুনরাবৃত্তির সূত্র।


2

সি #, 46 41 বাইট

int u(string l){return l.Count(c=>c=='[');}

l নেস্টেড তালিকার স্ট্রিং। এটি এখানে পরীক্ষা করুন


এটিকে কোনও কোড ব্লকে বিন্যাস করার জন্য 4 টি স্পেস (কোডের আগে) ব্যবহার করুন
ব্যবহারকারী 41805

@ ক্রিটিক্সিলিথোস উফ, আমি সঠিকভাবে এটি করতে ভুলে গেছি। এটা ইশারা :) জন্য ধন্যবাদ
Ave নগরী:

এবং এটি একটি প্রোগ্রাম বা একটি ফাংশন হতে হবে, এটিও নয়।
ব্যবহারকারী 41805

ক্রিটিক্সিলিথোস ওফস, এটিকে নির্দেশ করার জন্য ধন্যবাদ, এটি ঠিক করে দিয়েছে।
Ave নগরী:

2
আপনি কোঁকড়া ধনুর্বন্ধনী বন্ধন করতে পারেন এবং returnএকটি এক্সপ্রেশন শরীরের ফাংশন ব্যবহার করে। এছাড়াও charপরোক্ষভাবে থেকে কাস্ট intযাতে আপনি ব্যবহার করতে পারেন 91পরিবর্তে '[': int u(string l)=>l.Count(c=>c==91);উপরন্তু, আপনি ফাংশন স্বাক্ষর ড্রপ এবং একটি ল্যামডা পদ্ধতি ব্যবহার করতে পারে: l=>l.Count(c=>c==91);
দুধ

2

জেলি , 4 বাইট

߀S‘

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

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

߀S‘  Main link. Argument: A (array)

߀    Map the main link over A.
  S   Sum. For empty arrays, this yields zero.
   ‘  Increment.

2

রুবি, 13 (+1) বাইট

p $_.count ?[

-nযুক্তি সহ কল ​​করা :

ruby -ne 'p $_.count ?['

সম্পাদনা: উত্তরটি মুদ্রণ করতে পরিবর্তিত হয়েছে


এটি কিছুই মুদ্রিত বলে মনে হয় না। (যদি এটি একটি আরপিএল উত্তর না হয় তবে এক্ষেত্রে ভাষাটি রুবি আরপিএল হিসাবে নির্দিষ্ট করা উচিত।)
মার্টিন এন্ডার

@ মার্টিন ইন্ডার specific স্পেসিফিকেশনটি মুদ্রণের পরিবর্তে মান ফেরত দেওয়ার অনুমতি দেয়।
লি ডব্লু

এটি ফাংশন জমা দিতে বোঝায়। যেমন ->s{s.count ?[}একটি বৈধ জমা হবে।
মার্টিন এন্ডার

এটা কি সাধারণ নিয়ম?
লি ডব্লু



2

ব্রেন-ফ্লাক , 63 , 61 বাইট

{({}[(((()()()){}){}()){({}[()])}{}]){{}(<>{}())(<>)}{}}<>

এটি অনলাইন চেষ্টা করুন! 58 বাইট কোড, এবং -aপতাকা ASCII ইনপুট সক্ষম করার জন্য +3 ।

পাঠযোগ্য সংস্করণ / ব্যাখ্যা:

#While non-empty:
{

    #subtract
    ({}[

    #91
    (((()()()){}){}()){({}[()])}{}

    ])

    #if non-zero
    {

        # Remove the difference
        {}

        #Increment the counter on the other stack
        (<>{}())

        #Push a zero onto the main stack
        (<>)
    }

    #pop the left-over zero
    {}

#endwhile
}

#Move back to the stack with the counter, implicitly display
<>



1

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

<?=preg_match_all('/\[/',$argv[1]);

preg_match_all নিয়মিত প্রকাশের সাথে মিলে যাওয়া সমস্ত উদাহরণ খুঁজে বের করে এবং একটি নম্বর প্রদান করে, যার কারণে সংক্ষিপ্ত ইকো ট্যাগগুলি প্রয়োজন।

বেশিরভাগ উত্তরের মতো, এটি ইনপুটটিতে সংখ্যা গণনা করে [এবং সেই সংখ্যাটি আউটপুট করে


1
আপনি যদি এর ]পরিবর্তে ব্যবহার করেন তবে আপনাকে [এড়াতে হবে না।
মার্টিন এন্ডার

2
count_chars()[91];অনেক একই জিনিস কিন্তু সংক্ষিপ্ত।
ব্যবহারকারী59178

1

রেকেট 82 বাইট

(define n 0)(let p((l l))(if(null? l)(set! n(+ 1 n))(begin(p(car l))(p(cdr l)))))n

Ungolfed:

(define (f l)
  (define n 0)
  (let loop ((l l))
    (if (null? l)
        (set! n (add1 n))
        (begin (loop (first l))
               (loop (rest l)))))
  n)

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

(f '[]) 
(f '[[[]] []]) 
(f '[[[]] [[[[]] []]] [[[]] [[[[]] [[] [[]]]]]]]) 
(f '[[[[]]]])  

আউটপুট:

1
4
19
4

1

ভি , 10 বাইট

ÓÛ
ÒC0@"

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

এটিতে কিছু মুদ্রণযোগ্য অক্ষর রয়েছে, এখানে পাঠযোগ্য সংস্করণ:

ÓÛ
Ò<C-a>C0<esc>@"

<C-a>"ctrl-a" (ASCII 0x01) <esc>উপস্থাপন করে এবং এস্কেপ কী (ASCII 0x1b) উপস্থাপন করে ।

ÓÛ              " Remove all '['s
                "
Ò<C-a>          " Replace what's left with '<C-a>' (the increment command)
      C         " Delete this line
       0<esc>   " And replace it with a '0'
             @" " Run what we just deleted as V code (A bunch of increment commands

আরও মজা, কম গোল্ফ সংস্করণ:

o0kòf]m`jòd

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

o0<esc>                     " Put a '0' on the line below us
       k                    " Move back up a line
        ò               ò   " Recursively:
         f]                 "   Move to a right-bracket
           m`               "   Add this location to our jumplist
             j              "   Move down a line
              <C-a>         "   Increment this number
                   <C-o>    "   Move to the previous location
                         d  " Delete the bracket line
                            " Implicitly display

1

স্কালা, 15 বাইট

s=>s.count(92<)

Ungolfed:

s=>s.count(c=>92<c)

countগন্য কতগুলি উপাদান একটি বিধেয় সন্তুষ্ট এই ক্ষেত্রে 92<, যা পদ্ধতি <এর 92


1

, 15 বাইট

i~{1\{nJ+}d}J;J

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

ইনপুটটিতে, কোনও কমা অবশ্যই ফাঁকা স্থান দ্বারা সরানো বা প্রতিস্থাপন করতে হবে।

ব্যাখ্যা

i~{1\{nJ+}d}J;J
i                Read a line of input.
 ~               Evaluate it.
  {        }J;   Define a function and save it into the `J` variable.
                 Currently, the input array is at the top of the stack.
   1\            Push 1 and swap it with the input array.
     {   }d      For each element in the array...
                 Because the array was popped by `d`, 1 is at the TOS.
      nJ+        Recurse and add the result to 1.
              J  Initiate the function call.
                 The result is printed implicitly.

যদি আমাদের স্ট্রিং: 10 বাইটে কাজ করার অনুমতি দেওয়া হয়

ie\']-e@-p

1

> <> , 21 20 18 বাইট

0i:0(90.;n?|3%0=+!

সম্পাদনা করুন: গোটো স্টেটমেন্টের জন্য স্কোর 1!

সম্পাদনা 2: দৃশ্যত> <> বেফুঞ্জের থেকে পৃথক যে এটি মোড়কের পরে অ-শূন্য আইপি অফসেটটিকে মঞ্জুরি দেয় (অন্য কথায়, ট্রামপোলিন নির্দেশ ব্যবহার করে, আমি (0, 0) এর পরিবর্তে (1, 0) এ মোড় করতে পারি)। মজাদার.

TryItOnline!


1

ব্রেইনফাক, 28 বাইট

,
[
  -
  [
    -
    [
      >+<-
      [->]
    ]
    >[>>]
    <<<
  ]
  ,
]
>.

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

এটি 3 দ্বারা বিভাজ্য ইনপুট অক্ষরের সংখ্যা গণনা করে, অর্থাৎ সংখ্যাটি ] অক্ষরের ।

বিকল্প 34-বাইট সমাধান [সরাসরি অক্ষর গণনা করে এবং 8-বিট কোষের উপর নির্ভর করে:

,
[
  <-[>-<---]
  >------
  [>-<[-]]
  >+<,
]
>.

1

সি, 48 46 বাইট

দুটি বাইট সংরক্ষণ করেছেন কির্বিফ্যান6464 তে ধন্যবাদ

i;f(char*v){for(i=0;*v;i+=*v++==91);return i;}

i;f(char*v){for(i=0;*v;*v++^91?0:i++);return i;}

পরীক্ষার কোড

main()
{
    printf("%d\n", f("[]"));
    printf("%d\n", f("[[[]] []]"));
    printf("%d\n", f("[[[]] [[[[]] []]] [[[]] [[[[]] [[] [[]]]]]]]"));
}

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

a.exe
1
4
19

3 বাইট সংরক্ষণ *v++^91?0:i++করতে পরিবর্তন করুন i+=*v==91
kirbyfan64sos

@ কিরবিফ্যান64সস ধন্যবাদ! আমার এখনও ভি বাড়ানো দরকার তবে আমি i+=*v++==91দুটি বাইট সংরক্ষণ করতে পারি ।
ক্লাব্ল্যাঙ্ক

1

tinylisp repl, 39 বাইট

(d u(q((L)(i L(s(u(h L))(s 0(u(t L))))1

এমন একটি ফাংশন সংজ্ঞায়িত করে uযা বলা যেতে পারে(u (q ((())()) )) (দ্বিতীয় পরীক্ষার ক্ষেত্রে)। প্রতিস্থাপনে এটি করা স্বয়ংক্রিয়ভাবে বন্ধ হওয়া বন্ধনীগুলির কারণে 4 বাইট সাশ্রয় করে।

ব্যাখ্যা

(d u                                      )  Define u as
    (q                                   )    the following, unevaluated
      (                                 )     list (which acts as a function in tinylisp):
       (L)                                   Given arglist of one element, L, return:
          (i L                         )     If L (is nonempty):
              (s(u(h L))             )        Call u on head of L and subtract
                        (s 0        )          0 minus
                            (u(t L))           call u on tail of L
                                      1      Else, 1

x-(0-y)কারণ tinylisp একটি বিল্ট-ইন উপরন্তু ফাংশন, শুধুমাত্র বিয়োগ নেই কনস্ট্রাক্ট প্রয়োজন।



1

হাস্কেল, 20 19 17 বাইট

f s=sum[1|']'<-s]

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

স্ট্রিং হিসাবে তালিকাটি নেয় এবং 1প্রত্যেকের জন্য একটি তালিকায় একটি রাখে ], তারপরে সমস্ত 1গুলি যোগ করে।


পয়েন্টফ্রি সংস্করণ: (19 বাইট)

length.filter(>'[')

অনুমান , [ ]স্ট্রিং শুধুমাত্র অক্ষর আছে। সমস্ত অক্ষর এর চেয়ে বৃহত্তর পাওয়ার জন্য তালিকাটি ফিল্টার করে [যা সমস্ত হয় ]এবং দৈর্ঘ্যটি দেয়।

ব্যবহার:

Prelude> length.filter(=='[')$"[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]]"
19

0

বাশ + কোর্টিলস, 29 বাইট

f()(echo $1|tr -d -c [|wc -c)

আপনি এর বেশিরভাগটি সরিয়ে ফেলতে পারেন এবং ঠিক করুন tr -d -c [|wc -c, যা ডিফল্টরূপে স্ট্যান্ডার্ড ইনপুট থেকে তালিকাটি পড়বে।
kirbyfan64sos

0

DASH , 14 বাইট

(ss[len;!> ="]

কেবল গণনা করা ]। ব্যবহার:

(ss[len;!> ="]"])"[[]]"

বোনাস সমাধান, 15 বাইট

a\@+1sum ->#a#0

এই এক পুনরাবৃত্তভাবে একটি বাস্তব তালিকা থেকে গণনা করা হয়। ব্যবহার:

(f\@+1sum ->#f#0)[[]]
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.