निषिद्ध बिल्ट-इन


52

में मानक कमियां , निम्नलिखित है मना किया :

यह दावा करते हुए कि आपका उत्तर "MyOwnLanguage" में लिखा गया है, जहां कमांड का xअर्थ है "संख्याओं का एक क्रम पढ़ें, उन्हें तीन के समूहों में विभाजित करें, और उन समूहों के अंतिम संख्याओं को प्रिंट करें जहां दूसरा नंबर पहले की तुलना में कम है"

यहाँ, हम वही काम करने जा रहे हैं।

कार्य

सकारात्मक पूर्णांकों के अनुक्रम को देखते हुए, जिनकी लंबाई 3 से विभाज्य है, उन्हें तीन के समूहों में विभाजित करें, और उन समूहों की अंतिम संख्या को प्रिंट करें जहां दूसरी संख्या पहले से कम है।

परीक्षण के मामलों

Input               Output
[]                  []
[1,2,3,4,5,6,7,8,9] []
[2,1,3,5,4,6,8,7,9] [3,6,9]
[3,1,4,1,5,9,2,6,5] [4]
[100,99,123]        [123]
[123,123,456]       []
[456,123,789]       [789]

स्कोरिंग

यह । बाइट्स जीत में सबसे छोटा जवाब।

मानक कमियां लागू होती हैं, इसलिए याद रखें कि एक अंतर्निहित कमांड नहीं है xजो यह कार्य करता है।


31
हममम ... अब मैं वास्तव में बनाने के लिए परीक्षा रहा हूँ MyOwnLanguageऔर जोड़ने xपी: आदेश ...
DJMcMayhem

6
* याद रखें कि बिल्ट-इन * a नहीं है, अगर हमारे पास पहले से ही है, तो हम इसका इस्तेमाल कर सकते हैं, नहीं?
एडम

2
@ Adám मानक खामियों के अनुसार, आपके पास xविशेष रूप से उस कार्य को करने वाली अंतर्निहित भाषा नहीं हो सकती है।
लीक नून

34
@LeakyNun हां, आप चुनौती के कारण ऐसी भाषा नहीं बना सकते । यदि आपकी भाषा चुनौती देती है, तो यह स्वीकार्य है।
17'17

9
यदि मैं बिलिन को कॉल करता हूं p, तो क्या मैं इसका उपयोग कर सकता हूं?
माइंडविन

जवाबों:



13

जेली , by बाइट्स

>Ḋm3T×3ị

इसे ऑनलाइन आज़माएं!

यह काम किस प्रकार करता है

>Ḋm3T×3ị  Main link. Argument: A (array)

 Ḋ        Dequeue; yield A without its first element.
>         Compare the elements of A with the elements of the result.
  m3      Select each third element, starting with the first.
    T     Truth; get all indices of truthy elements.
     ×3   Multiply those indices by 3.
       ị  Unindex; retrieve the elements at the redulting indices.

12

हास्केल, 30 29 बाइट्स

x(a:b:c:l)=[c|b<a]++x l
x d=d

गोल्फिंग हास्केल में मेरा पहला प्रयास है, इसलिए मैं एक अनुकूलन या दो को याद कर सकता हूं

-1 बाइट @JulianWolf को धन्यवाद


4
अच्छा जवाब! प्रासंगिक टिप के लिए codegolf.stackexchange.com/a/60884/66904 देखें ; विशेष रूप से, दो परिभाषाओं की अदला-बदली और दूसरा (अब पहला) लिखकर x d=dआपको एक बाइट बचा सकता है
जूलियन वुल्फ

चालाक! मैंने उस उत्तर को पहले से ही देख लिया था, लेकिन उस हिस्से को याद नहीं करना चाहिए जहाँ परिभाषा ने चर का पुन: उपयोग किया है

11

गणितज्ञ, 37 बाइट्स

यह मानते हुए कि यह कल्पना को संतुष्ट करता है, 1-बाइट की बचत के लिए इस दृष्टिकोण के लिए ngenisis को श्रेय दिया जाता है!

BlockMap[If[#>#2,Print@#3]&@@#&,#,3]&

शुद्ध कार्य। BlockMap[...,#,3]&इनपुट सूची को लंबाई 3 के सब्लिस्ट्स में विभाजित करता है और फिर फ़ंक्शन के साथ प्रत्येक सबलिस्ट पर काम करता है If[#>#2,Print@#3]&@@#&। परिणाम यह है कि प्रत्येक योग्यताधारी अंतिम संख्या मुद्रित करता है। फ़ंक्शन भी मान लौटाता है (अर्थात् Nullइनपुट सूची के रूप में सा तृतीय की एक सूची), जिसे व्यवहार की अनुमति दी जाती है।

गणितज्ञ, 42 38 बाइट्स

4 बाइट बचाने के लिए मार्टिन एंडर को धन्यवाद!

Cases[#~Partition~3,{a__,b_}/;a>0:>b]&

शुद्ध कार्य। #~Partition~3तुम क्या सोचते हो पैटर्न Cases[X,P:>Q]के Xमिलान के सभी तत्वों का चयन करता है P, और :>Qप्रत्येक उदाहरण पर लागू परिवर्तन नियम का परिणाम देता है । यहाँ, जिस पैटर्न का मिलान किया जा रहा है वह है {a__,b_}/;a>0: b_सूची के अंतिम तत्व और a__अन्य सभी तत्वों से मेल खाएगा (इस मामले में, पहले दो); उन्हें yऔर zअभी के लिए बुलाओ । डरपोक a>0तब तक फैलता है y>z>0, जो कि वह परीक्षण है जिसे हम लागू करना चाहते हैं (मान्य है क्योंकि कल्पना कहती है कि सब कुछ एक सकारात्मक पूर्णांक होगा)। और परिवर्तन नियम है :>b, जो बस प्रत्येक मिलान किए गए आदेश को अपने अंतिम तत्व से बदल देता है।

मूल प्रस्तुत:

Last/@Select[#~Partition~3,#.{1,-1,0}>0&]&

शुद्ध कार्य; बहुत ज्यादा सीधा-सादा कार्यान्वयन, #.{1,-1,0}जिसके अलावा प्रत्येक 3-तत्व सबलिस्ट के पहले और दूसरे तत्वों के बीच अंतर की गणना करता है।


3
डॉट उत्पाद साफ है, लेकिन #>#2&@@#&छोटा है। लेकिन कुल मिलाकर यह अभी भी उपयोग Casesकरने के लिए छोटा है Select:Cases[#~Partition~3,{a__,b_}/;a>0:>b]&
मार्टिन एंडर

a>0:>इसमें दो तरह का जादू है!
ग्रेग मार्टिन

BlockMapयहाँ टैंटलाइज़ कर रहा है।
ngenisis

BlockMap[If[#>#2,#3,Nothing]&@@#&,#,3]&काम करता है और केवल 39 बाइट्स है ... क्या हम कुछ बाइट्स बचा सकते हैं?
ग्रेग मार्टिन

1
BlockMap[If[#>#2,Print@#3]&@@#&,#,3]&यकीनन कल्पना को संतुष्ट करता है
ngenisis


7

आर, 35 बाइट्स

(x=matrix(scan(),3))[3,x[2,]<x[1,]]

3
क्या प्रमुख व्हाट्सएप आवश्यक है?
HyperNeutrino

1
अच्छा सुरुचिपूर्ण समाधान
मिकी

5

ब्रेकीलॉग (2), 14 बाइट्स

~c{Ṫ}ᵐ{k>₁&t}ˢ

इसे ऑनलाइन आज़माएं!

Brachylog इस तरह की समस्या से जूझता है। ध्यान दें कि इस कार्यक्रम में भयानक कम्प्यूटेशनल जटिलता है, क्योंकि यह ब्रूट-बलों को इनपुट को 3 के समूहों में विभाजित करता है (कोई "समूहों में विभाजित नहीं" बिलिन); यह चार समूहों के साथ जल्दी से चलता है लेकिन बहुत धीरे-धीरे पांच के साथ।

व्याख्या

~c{Ṫ}ᵐ{k>₁&t}ˢ
~c              Split into groups
  { }ᵐ          such that each group
   Ṫ            has three elements
      {     }ˢ  then on each element, skipping that element on error:
       k          with the list minus its last element
        >₁        assert that it's strictly decreasing
          &       and with the original list
           t      keep only its last element

उल्लेखनीय है कि l÷₃;?ḍ₍यह एक तेज विकल्प है।
लीक नून

मेरे पास पहले ही प्रयास में (उपयोग /नहीं किया गया था ÷; वे यहां समकक्ष हैं), लेकिन यह एक बाइट लंबा है इसलिए मैंने इसे नीचे गोल्फिंग करते समय त्याग दिया।

4

जे , 14 बाइट्स

_3&(>`[/\#]/\)

यह एक राक्षसी क्रिया का मूल्यांकन करता है। इसे ऑनलाइन आज़माएं!

व्याख्या

_3&(>`[/\#]/\)  Input is y.
_3&(    \    )  For each non-overlapping 3-element chunk of y,
    >`[/        check if first element is greater than second.
                Call the resulting array x.
_3&(        \)  For each non-overlapping 3-element chunk of y,
          ]/    take the last element.
         #      Keep those where the corresponding element of x is 1.

4

ऐलिस , 12 11 बाइट्स

1 बाइट बचाने के लिए लियो को धन्यवाद।

I.h%I-rI~$O

इसे ऑनलाइन आज़माएं!

एक स्ट्रिंग के कोड बिंदुओं को इनपुट सूची के रूप में उपयोग करता है और जो आउटपुट रखा जाना चाहिए उसी के अनुरूप चरित्र को आउटपुट करता है।

व्याख्या

I      Read x. Pushes -1 on EOF.
.h%    Compute x%(x+1). This terminates the program due to division by zero at EOF,
       but does nothing for non-negative x.
I      Read y.
-      Compute x-y. We only want to output z is this is positive.
r      Range. Pushes 0 1 ... n for positive n, and -n ... 1 0 for negative n
       (and simply 0 for n = 0). So this results in a positive number on top
       of the stack iff x-y is positive.
I      Read z.
~      Swap it with x-y > 0.
$O     Output z iff x-y > 0.
       Then the IP wraps to the beginning of the program to process the next triplet.

आप के rबजाय का उपयोग कर एक बाइट गोल्फ कर सकते हैं exटीआईओ
सिंह

@ यह शानदार है, धन्यवाद!
मार्टिन एंडर



3

पर्ल 5 , 31 बाइट्स

कोड + -pध्वज के 30 बाइट्स ।

s/\d+ (\d+) (\d+)/$2if$1<$&/ge

इसे ऑनलाइन आज़माएं!

3 नंबर के प्रत्येक समूह ( \d+ (\d+) (\d+)) को तीसरे ( $2) से बदल देता है अगर दूसरा ( $1) पहले से कम है ( $&), और अन्यथा कुछ भी नहीं।


3

सीजेएम , 15 बाइट्स

{3/{)\:>{;}|}%}

बेनामी ब्लॉक जो स्टैक पर तर्क की अपेक्षा करता है, और स्टैक पर परिणाम छोड़ता है।

इसे ऑनलाइन आज़माएं! (सभी परीक्षण मामलों को चलाता है)

व्याख्या

3/             e# Split the list into length-3 chunks.
  {            e# For each chunk:
   )           e#  Remove the last element.
    \:>        e#  Reduce the first 2 elements by greater than.
       {;}|    e#  If the first is not larger than the second, delete the third.
           }%  e# (end for)

3

ब्रेन-फ्लैक , 82 बाइट्स

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

इसे ऑनलाइन आज़माएं!

# Until the stack is empty (input is guaranteed to not contain 0)
{

  # Push 1 for greater than or equal to 0
  ([({}[{}()]<(())>)](<>)){({}())<>}{}{((<{}>))<>{}}{}<>{}
  #  ^------^  This part is Top - (Second + 1)

  # If the second number was less than the first...
  {{}

     # Get ready to push 2 zeros
     ((<

       # Move the next number to the other stack
       ({}<>)<>

     # Push those 2 zeros
     >))}

     # Pop 2 values.
     # This is either 2 zeros, or a 0 and a "last number" that shouldn't be printed
     {}{}

# End loop
}

# Switch to the stack where we stored the numbers to be printed
<>

3

जेली , 10 बाइट्स

s3µṪWx>/µ€

इसे ऑनलाइन आज़माएं!

या

परीक्षण मामलों की जाँच करें

-3 बाइट्स @LeakyNun को धन्यवाद

व्याख्या

s3µṪWx>/µ€
s3         - split into groups of three
  µ     µ€ - on each group, do:
   ṪW      - return the third element as the only element of a list
     x     - repeat each element in that list the number of times
      >/   - corresponding to 1 if the second element of the group is greater than the first; 0 otherwise.


10 बाइट्स:s3µṪWx>/µ€
लीक नून

3

आर, 37 बाइट्स

संस्करण scan()जिसके साथ मुझे पसंद नहीं है, लेकिन यह इसे छोटा बनाता है।

x=scan();x[(i<--1:1)>0][x[!i]<x[i<0]]

संस्करण function()जिसके साथ परीक्षण करना आसान है (41 बाइट)

f=function(x)x[(i<--1:1)>0][x[!i]<x[i<0]]

@Giuseppe को धन्यवाद! सूचकांक के पुनर्चक्रण का उपयोग करने का अच्छा विचार है।

परीक्षा:

f(c())
f(c(1,2,3,4,5,6,7,8,9))
f(c(2,1,3,5,4,6,8,7,9))
f(c(3,1,4,1,5,9,2,6,5))
f(c(100,99,123))
f(c(123,123,456))
f(c(456,123,789))

आउटपुट:

> f(c())
NULL
> f(c(1,2,3,4,5,6,7,8,9))
numeric(0)
> f(c(2,1,3,5,4,6,8,7,9))
[1] 3 6 9
> f(c(3,1,4,1,5,9,2,6,5))
[1] 4
> f(c(100,99,123))
[1] 123
> f(c(123,123,456))
numeric(0)
> f(c(456,123,789))
[1] 789

आप एक फ़ंक्शन को परिभाषित करने के बजाय शुरुआत में xउपयोग करके स्टैडेन से पढ़ते हैं x=scan(), आप बस सेट भी कर सकते हैं i=c(1,2,0)क्योंकि तार्किक सूचकांक पुनर्नवीनीकरण हो जाते हैं,x=scan();i=c(1,2,0);x[!i][x[i>1]<x[i==1]]
Giuseppe


धन्यवाद @Giuseppe! मुझे यह x=scan()दृष्टिकोण पसंद नहीं है क्योंकि यह इनपुट को बहुत बोझिल बनाता है। और मैं इसे फिर से दोहराने योग्य नहीं बना सकता।
djhurio

2
सही है, लेकिन लक्ष्य के रूप में संभव के रूप में एक कोड उत्पन्न करने के लिए है। दुर्भाग्य से हम दोनों के लिए, किसी और ने एक बेहतर समाधान पाया!
ग्यूसेप

हे, मेरे पास उपयोग करने के लिए अच्छा विचार था matrix()लेकिन किसी तरह मुझे विश्वास नहीं था कि यह इतना कम संभव होगा।
djhurio

3

जावास्क्रिप्ट (ईएस 6), 46 44 42 41 39 बाइट्स

a=>a.filter((_,y)=>y%3>1&a[y-1]<a[y-2])

कोशिश करो

किसी भी स्थान के बिना, अल्पविराम से अलग किए गए नंबरों की सूची इनपुट करें।

f=
a=>a.filter((_,y)=>y%3>1&a[y-1]<a[y-2])
i.oninput=_=>o.innerText=JSON.stringify(f(i.value.split`,`.map(eval)))
console.log(JSON.stringify(f([])))                  // []
console.log(JSON.stringify(f([1,2,3,4,5,6,7,8,9]))) // []
console.log(JSON.stringify(f([2,1,3,5,4,6,8,7,9]))) // [3,6,9]
console.log(JSON.stringify(f([3,1,4,1,5,9,2,6,5]))) // [4]
console.log(JSON.stringify(f([100,99,123])))        // [123]
console.log(JSON.stringify(f([123,123,456])))       // []
console.log(JSON.stringify(f([456,123,789])))       // [789]
<input id=i><pre id=o>


व्याख्या

a=>              :Anonymous function taking the input array as an argument via parameter a
a.filter((_,y)=> :Filter the array by executing a callback function on each element,
                  with the index of the current element passed through parameter y.
                  If the function returns 0 for any element, remove it from the array.
y%3>1            :Check if the modulo of the current index is greater than 1.
                  (JS uses 0 indexing, therefore the index of the 3rd element is 2; 2%3=2)
&                :Bitwise AND.
a[y-1]<a[y-2]    :Check if the element at index y-1 in array a
                  is less than the element at index y-2
)                :End filtering method

1
y%3>1&a[y-1]<a[y-2]काम करता है ?
नील

44 पार अभी भी 44 है
रोमन ग्रैफ

आपका क्या मतलब है, @ RomanGräf?
झबरा


अच्छी तरह से धब्बेदार @Roman - "Arial," Helvetica Neue ", Helvetica, sans-serif" में बग
flurbius

3

भूसी , 8 बाइट्स

ṁΓȯΓ↑<C3

इसे ऑनलाइन आज़माएं!

व्याख्या

यह कार्यक्रम थोड़ा सा शामिल है, इसलिए मेरे साथ रहें।

ṁΓȯΓ↑<C3  Implicit input (list of integers).
      C3  Split into slices of length 3.
ṁ         Map over slices and concatenate results
 ΓȯΓ↑<    of this function, explained below.

फ़ंक्शन ΓȯΓ↑<3 की लंबाई की सूची लेता है x = [a,b,c],। पहले में Γविभाजित xहै aऔर [b,c], और उन्हें फ़ंक्शन के तर्क के रूप में खिलाता है ȯΓ↑<। इस के बराबर होना चाहिए ((Γ↑)<), लेकिन दुभाषिये की एक बग / सुविधा की वजह से, यह वास्तव में करने के लिए बराबर है (Γ(↑<)), की एक रचना के रूप में व्याख्या Γऔर ↑<। अब, aआंशिक अनुप्रयोग का उपयोग करके बाद के फ़ंक्शन को खिलाया जाता है, जिसके परिणामस्वरूप फ़ंक्शन ↑<aको दिया जाता है Γ, जो कि और [b,c]में deconstructs । फिर खिलाया जाता है , जिसके परिणामस्वरूप एक फ़ंक्शन होता है जो किसी सूची से पहले तत्वों को लेता है । इस फ़ंक्शन को आखिरकार लागू किया जाता है ; परिणाम है अगर , औरb[c]b↑<ab<a[c][c]a>b[]अन्यथा। इन सूचियों को अंतिम परिणाम बनाने के लिए संघटित किया जाता है, जो स्पष्ट रूप से मुद्रित होता है।

"सुविधा" के बिना, मेरे पास 9 बाइट्स होंगे:

ṁΓoΓo↑<C3


2

MATL , 10 बाइट्स

IeI&Y)d0<)

परिणाम को रिक्त स्थान से अलग संख्याओं के रूप में प्रदर्शित किया जाता है।

इसे ऑनलाइन आज़माएं!

या सभी परीक्षण मामलों को सत्यापित करें । यह आउटपुट का एक स्ट्रिंग प्रतिनिधित्व प्रदर्शित करता है, ताकि एक खाली सरणी वास्तव में दिखाई दे []। ध्यान दें कि MATL में एक संख्या एक सिंगलटन सरणी के समान है, इसलिए [4]इसे दिखाया गया है 4

व्याख्या

Ie    % Implicit input. Reshape as a 3-row matrix (column-major order)
I&Y)  % Split into the third row and a submatrix with the other two rows
d     % Consecutive difference along each column of the submatrix
0<    % True for negative values
)     % Use as logical index into the original third row. Implicitly display

2

रोड़ा , 15 बाइट्स

{[_3]if[_2<_1]}

Röda लगभग गोल्फ भाषाओं के रूप में कम है ...

यह धारा से तीन मान लेता है, और तीसरे ( _3) को पीछे धकेलता है , यदि दूसरा ( _2) पहले से कम है ( _1)।

अंडरस्कोर forछोरों के लिए सिंटेक्स चीनी हैं , इसलिए कार्यक्रम को {{[a]if[b<c]}for a,b,c}या यहां तक ​​कि लिखा जा सकता है {[a]for a,b,c if[b<c]}

कोई TIO लिंक नहीं, क्योंकि यह किसी कारण से TIO पर काम नहीं करता है (हालांकि रोडा के नवीनतम संस्करण के साथ काम करता है जो चुनौती से पहले होता है)।


2

जावा 7, 86 85 बाइट्स

void c(int[]a){for(int i=-1;++i<a.length;)if(a[i++]>a[i++])System.out.println(a[i]);}

-1 बाइट थैंक्स टू @ पुनपुन 1000

स्पष्टीकरण:

इसे यहाँ आज़माएँ।

void c(int[]a){                  // Method with integer-array parameter and no return
  for(int i=-1;++i<a.length;)    //  Loop over the array in steps of three at a time
    if(a[i++]>a[i++])            //   If the value of the current index is larger than the next:
      System.out.println(a[i]);  //    Print the value on the third index
                                 //  End of loop (implicit / single-line body)
}                                // End of method

@ PunPun1000 अब आपने केवल 3 के बजाय 2 से पुनरावृत्ति को बढ़ाया है, और इसलिए गलत परिणाम दे रहे हैं (जैसे 3,9कि परीक्षण के मामले के 1,2,3,4,5,6,7,8,9बजाय 3,6,9)।
केविन क्रूज़सेन

1
@ केविन_क्रूजसेन उफ़ तुम सही हो। आप अभी भी वेतन वृद्धि ऑपरेटर का उपयोग करके एक बाइट बचा सकते हैं। आपको बस शुरू करना है -1 इसे ऑनलाइन आज़माएं!
पुनपुन 1000

@ PunPun1000 आह, तुम सही हो, अच्छी पकड़ है। धन्यवाद!
केविन क्रूज़सेन

2

सी #, 126 बाइट्स

using System.Linq;i=>Enumerable.Range(0,i.Length/3).Select(u=>3*u).Where(u=>i[u]>i[u+1]).Select(u=>i[u+2]);

यदि आप विधि के साथ एक पूरा कार्यक्रम चाहते हैं तो यह 175 बाइट्स होगा :

using System.Linq;namespace S{class P{static System.Collections.IEnumerable X(int[]i)=>Enumerable.Range(0,i.Length/3).Select(u=>3*u).Where(u=>i[u]>i[u+1]).Select(u=>i[u+2]);}}

TheLethalCoder की मदद से 7 बाइट्स को बचाया


आप बस उन प्रिंट कर सकते हैं ...
लीक नून

@ LeakyNun बेशक मैं कर सकता था - लेकिन मैं क्यों करूँ? मैंने पूछा कि यह निराला है, यह नहीं है, और यह अधिक बाइट्स होगा, मुझे लगता है।
मेटाकाॅलोन

(int[]i)केवल iप्रकार के लिए कोई ज़रूरत नहीं हो सकती है।
TheLethalCoder

@ TheLethalCoder ने इसे अपडेट किया।
मेटाकाॅलोन

@MetaColon आपको (i)या तो ब्रेसिज़ की आवश्यकता नहीं है ।
TheLethalCoder


1

सीजेएम , 16 बाइट्स

q~3/{~@@>S{;}?}%

आउटपुट को रिक्त स्थान से अलग संख्याओं के रूप में दिखाया गया है।

इसे ऑनलाइन आज़माएं!

व्याख्या

q~               e# Read input list
  3/             e# List of sublists of length 3
   {         }%  e# Apply this to each sublist
    ~            e# Push sublist contents: 3 numbers
     @@          e# Rotate twice. This moves first two numbers to top
       >         e# Greater than?
        S{;}?    e# If so: push space (used as separator). Else: pop the third number
                 e# Implicitly display


1

जावास्क्रिप्ट, 108 107 108 बाइट्स

यह एक वैध जेएस अनाम (लैम्ब्डा) फ़ंक्शन है। x=शुरुआत में जोड़ें और जैसे आह्वान करें x([5,4,9,10,5,13])। फ़ंक्शन के रूप में आउटपुट return

a=>(y=[],a.map((c,i)=>(i+1)%3?0:y.push(a.slice(i-2,i+1))),y.map(v=>v[1]<v[0]?v[2]:null).filter(c=>c|c==0))

स्निपेट अल्पविराम से अलग पूर्णांक की सूची के रूप में इनपुट में लेता है।

x=a=>(y=[],a.map((c,i)=>(i+1)%3?0:y.push(a.slice(i-2,i+1))),y.map(v=>v[1]<v[0]?v[2]:null).filter(c=>c|c==0))
martin.oninput = e => { dennis.innerHTML = x(martin.value.split`,`.map(c=>parseInt(c,10))) }
<input type=text id=martin><pre id=dennis>


एक लंबे समय तक समाधान पोस्ट करने, और उपयोग करने martinऔर dennisआईडी के रूप में क्या है?
लीक नून

जब मैं खदान पर काम कर रहा था तब @LeakyNun Shaggy ने अपना समाधान पोस्ट किया। लेकिन यह मेरे लिए कोई कारण नहीं था कि मैं अपना समाधान पोस्ट न करूं। आईडी के रूप में नामों का उपयोग करने के लिए, मुझे लगा कि यह अजीब होगा।
अर्जुन

यह काम नहीं करता है [5,4,9,10,5,13]
झबरा

@ शिग्गी यह कि टेस्ट केस स्निपेट के कार्यान्वयन में एक समस्या थी; समाधान के साथ कुछ भी गलत नहीं है। दरअसल, इनपुट तत्व का मूल्य हमेशा एक स्ट्रिंग होता है। इसलिए, स्ट्रिंग को विभाजित करने के ,परिणामस्वरूप संख्याओं के बजाय स्ट्रिंग की एक सरणी बन गई! समाधान पूरी तरह से ठीक है। केवल टेस्ट केस स्निपेट गलत था। मैंने तय कर लिया है कि, अब। यह बात बताने के लिए धन्यवाद! :)
अर्जुन

ओह, हाँ, यह समस्या की व्याख्या करता है! धन्यवाद आप , @Arjun।
झबरा

1

Perl5.8.9, 73 60 बाइट्स

while(@F){@b=splice@F,0,3;$b[1]<$b[0]&&print$b[2]}print"-"

(58 + 2 'एन' फ्लैग के लिए पूरी फाइल और एक ऑटोप्लेट को पढ़ने के लिए)। मान लेता है कि इनपुट अंतरिक्ष की संख्या से अलग है

दादा को धन्यवाद में कमी। दृश्यता के लिए अंत में प्रिंट भी शामिल है, यदि नहीं तो 8 बाइट्स बचाएंगे।


अच्छा है! अपनी अच्छी तरह से लायक हैं +1!
अर्जुन

आउटपुट स्वरूप काफी लचीला है, आपको वास्तव print"\n"में इसे अंत में नहीं रखना है । इसके अलावा, आप $b[1]<$b[0]&&print"$b[2] "while@b=splice@a,0,37 बाइट्स को बचाने के लिए कर सकते हैं । अंत में, आप -aकरने के बजाय ध्वज का उपयोग कर सकते हैं @a=split(यह स्वचालित रूप से ऐसा ही करेगा और परिणाम को @Fइसके स्थान पर संग्रहीत करेगा @a); पर्ल के साथ 5.8.9, आपको -naहाल के पर्ल्स के साथ की आवश्यकता होगी , -aपर्याप्त है। यह आपको 47-48 बाइट्स तक पहुंचना चाहिए।
दादा

ओह, मैं -a के बारे में नहीं जानता था। मुझे अभी भी लगता है कि मुझे एक इनपुट लाइन प्रति इनपुट लाइन में करनी चाहिए, आउटपुट बहुत ही अशुभ है अन्यथा
टॉम टैनर

1

क्लोजर, 43 बाइट्स

#(for[[a b c](partition 3 %):when(< b a)]c)

उबाऊ :/


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.