অন্তর্নির্মিত নিষিদ্ধ


52

ইন মান সমস্যা , অনুসরণ করছে নিষিদ্ধ :

আপনার উত্তরটি "মাইওনল্যাঙ্গুয়েজে" লেখা আছে দাবি করে যেখানে কমান্ডটির xঅর্থ "সংখ্যার ক্রম পড়ুন, তাদের তিনটি দলে বিভক্ত করুন এবং সেই গোষ্ঠীর শেষ সংখ্যাগুলি মুদ্রণ করুন যেখানে দ্বিতীয় সংখ্যাটি প্রথমের চেয়ে কম"

এখানে, আমরা ঠিক একই জিনিস করতে যাচ্ছি।

কার্য

ধনাত্মক পূর্ণসংখ্যার ক্রম দেওয়া, যার দৈর্ঘ্য 3 দ্বারা বিভাজ্য, তাদের তিনটি দলে বিভক্ত করুন এবং সেই গোষ্ঠীর শেষ সংখ্যাগুলি মুদ্রণ করুন যেখানে দ্বিতীয় সংখ্যাটি প্রথমের চেয়ে কম।

Testcases

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...: পি
ডিজেএমসিমেহেম

6
* মনে রাখবেন কোনও বিল্ট-ইন * না রাখবেন‽ ভাল, যদি ইতিমধ্যে আমাদের কাছে থাকে তবে আমরা এটি ব্যবহার করতে পারি, না?
অ্যাডম

2
@ অ্যাডাম স্ট্যান্ডার্ড লুফোলস অনুসারে আপনার xবিশেষভাবে সেই ফাংশনটি সম্পাদন করে অন্তর্নির্মিত কোনও ভাষা থাকতে পারে না ।
ফাঁস নুন

34
@ লেকিউন হ্যাঁ আপনি পারবেন, চ্যালেঞ্জের কারণে আপনি কেবল এ জাতীয় ভাষা তৈরি করতে পারবেন না । যদি আপনার ভাষা চ্যালেঞ্জের পূর্বাভাস দেয় তবে তা গ্রহণযোগ্য।
অ্যাডম

9
যদি আমি বিল্টিনকে কল করি p, আমি কি এটি ব্যবহার করতে পারি?
মাইন্ডউইন

উত্তর:



13

জেলি , 9 8 বাইট

>Ḋ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

হাস্কেলকে গল্ফ করাতে আমার প্রথম প্রচেষ্টা, তাই আমি কোনও দুটি বা দুটি অপ্টিমাইজেশন মিস করতে পারি

-১ বাইট @ জুলিয়ান ওল্ফকে ধন্যবাদ


4
চমৎকার উত্তর! একটি প্রাসঙ্গিক টিপ জন্য কোডগল্ফ.স্ট্যাকেক্সেঞ্জারএইভিএ / 60884/66904 দেখুন ; বিশেষত, দুটি সংজ্ঞা অদলবদল করা এবং দ্বিতীয়টি (এখন প্রথম) লিখলে x d=dআপনাকে একটি বাইট বাঁচাতে পারে
জুলিয়ান ওল্ফ

চতুর! আমি উত্তরটি আগেই ব্রাউজ করেছি তবে সংজ্ঞাটি পরিবর্তনশীলটি পুনরায় ব্যবহার করেছে এমন অংশটি অবশ্যই মিস করে

11

গণিত, 37 বাইট

এই অনুমানটি পূরণ করে না বলে ধরে নিলে এনজেনিসিস 1 বাইট সংরক্ষণের দিকে পরিচালিত এই পদ্ধতির জন্য ক্রেডিট পান!

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&@@#&খাটো। তবে সামগ্রিকভাবে এটি এর পরিবর্তে এখনও খাটো :CasesSelectCases[#~Partition~3,{a__,b_}/;a>0:>b]&
মার্টিন ইন্ডার

a>0:>এর মধ্যে দুই ধরণের যাদু আছে!
গ্রেগ মার্টিন

BlockMapএখানে ট্যানটালাইজিং করছে
নেজেনিসিস

BlockMap[If[#>#2,#3,Nothing]&@@#&,#,3]&কাজ করে এবং কেবল 39 বাইট হয় ... আমরা একটি দম্পতি বাইট সংরক্ষণ করতে পারি?
গ্রেগ মার্টিন

1
BlockMap[If[#>#2,Print@#3]&@@#&,#,3]&যুক্তিযুক্তভাবে
অনুমিতিটি



5

ব্র্যাচল্যাগ (2), 14 বাইট

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

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

বরং ব্র্যাচেলগ এই ধরণের সমস্যার সাথে লড়াই করে। নোট করুন যে এই প্রোগ্রামটির ভয়ঙ্কর গণ্য জটিলতা রয়েছে, কারণ এগুলি ইনপুটটিকে 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&(>`[/\#]/\)

এটি একটি monadic ক্রিয়া মূল্যায়ন। এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

_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 বাইট

30 বাইট কোড + -pপতাকা।

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

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

\d+ (\d+) (\d+)তৃতীয় ( ) দ্বারা $2দ্বিতীয় ( $1) দ্বারা প্রথম ( $&) এর চেয়ে কম হলে প্রতিটি গ্রুপকে 3 টি ( ) দ্বারা প্রতিস্থাপন করে এবং অন্যথায় কিছুই না।


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 বাইটস @ লিক্যুনকে ধন্যবাদ জানায়

ব্যাখ্যা

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.



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]]

@ জিউজ্পে ধন্যবাদ! সূচকের পুনর্ব্যবহারযোগ্য ব্যবহার করার জন্য দুর্দান্ত ধারণা।

টেস্ট:

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]]
জিউস্পে


ধন্যবাদ @ জিউজ্পে! আমি এই x=scan()পদ্ধতির পছন্দ করি না কারণ এটি ইনপুটটিকে খুব জটিল করে তোলে। এবং আমি তখন এটি পুনরাবৃত্তিযোগ্য করতে পারি না।
djhurio

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

হেই, আমি ব্যবহার করার মতো ধারণাও পেয়েছিলাম matrix()তবে কোনওভাবেই বিশ্বাস করি নি যে এত ছোট করা সম্ভব হবে।
djhurio

3

জাভাস্ক্রিপ্ট (ES6), 46 44 42 41 39 বাইট

a=>a.filter((_,y)=>y%3>1&a[y-1]<a[y-2])
  • সংরক্ষণ 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
রোমান গ্রাফ

@ রোমানগ্রাফ বলতে কী বোঝ?
শেগি


"আড়িয়াল," হেলভেটিকা ​​নিউ ", হেলভেটিকা, সানস-সেরিফ" - এর একটি বাগ
@

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]মধ্যে ডিকনস্ট্রাক্ট করে । তারপরে খাওয়ানো হয় , ফলস্বরূপ একটি ফাংশন যা তালিকা থেকে প্রথম উপাদানগুলিকে নিয়ে যায় । এই ফাংশনটি শেষ পর্যন্ত প্রয়োগ করা হয় ; ফলাফল যদি হয় , এবংb[c]b↑<ab<a[c][c]a>b[]অন্যথায়। এই তালিকাগুলি চূড়ান্ত ফলাফল গঠনের দ্বারা সংক্ষিপ্ত আকারে প্রকাশিত হয়, যা স্পষ্টভাবে মুদ্রিত হয়।

"বৈশিষ্ট্য" ব্যতীত আমার 9 টি বাইট থাকবে:

ṁΓoΓo↑<C3


2

এমএটিএল , 10 বাইট

IeI&Y)d0<)

ফলাফল ফাঁকা দ্বারা পৃথক সংখ্যা হিসাবে প্রদর্শিত হয়।

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

বা সমস্ত পরীক্ষার কেস যাচাই করুন । এটি আউটপুটটির একটি স্ট্রিং প্রতিনিধিত্ব প্রদর্শন করে, যাতে খালি অ্যারেটি প্রকৃতপক্ষে দেখা যায় []। নোট করুন যে এমএটিএল-তে একটি সংখ্যা সিঙ্গলটন অ্যারের সমান, তাই [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

Röda , 15 বাইট

{[_3]if[_2<_1]}

রডা গল্ফিং ভাষাগুলির চেয়ে প্রায় সংক্ষিপ্ত ...

এটি স্ট্রিম থেকে তিনটি মান নেয় এবং _3দ্বিতীয় ( _2) প্রথম ( _1) এর চেয়ে কম হলে, তৃতীয়টিকে ( ) পিছনে ঠেলে দেয় ।

আন্ডারস্কোরগুলি forলুপগুলির জন্য সিনট্যাক্স চিনি , যাতে প্রোগ্রামটি হিসাবে {{[a]if[b<c]}for a,b,c}বা এমনকি লেখা যায় {[a]for a,b,c if[b<c]}

টিআইও লিঙ্ক নেই, কারণ এটি কোনও কারণে টিআইও-তে কাজ করে না (যদিও চ্যালেঞ্জের পূর্বাভাস দেয় রাডার সর্বশেষ সংস্করণটি নিয়ে কাজ করে)।


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

@ পুনপুন1000 এখন আপনি কেবল পুনরাবৃত্তিটি 3 এর পরিবর্তে 2 দ্বারা বাড়িয়েছেন এবং ফলস্বরূপ ভুল ফলাফল প্রদান করছেন (যেমন 3,9পরীক্ষার ক্ষেত্রে 1,2,3,4,5,6,7,8,9পরিবর্তে 3,6,9)।
কেভিন ক্রুইজসেন

1
@ কেভিন_ক্রুইজসেন ওফস আপনি ঠিক বলেছেন। আপনি এখনও ইনক্রিমেন্ট অপারেটরটি ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন। আপনাকে কেবল অনলাইনে চেষ্টা করে
পুনপুন 1000 হাজার

@ পুনপুন1000 আহ, আপনি ঠিক বলেছেন, দুর্দান্ত ক্যাচ। ধন্যবাদ!
কেভিন ক্রুইজসেন

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 বাইট সংরক্ষণ করা হয়েছে


আপনি কেবল সেগুলি মুদ্রণ করতে পারেন ...
লিকি নুন

@ লিক্যনুন অবশ্যই আমি পারলাম - তবে আমার কেন করা উচিত? আমি অনুমান করি যে এটি আরও প্রয়োজনীয়, এটি না, এবং এটি আরও বাইট হবে, আমার ধারণা।
মেটালাকন

(int[]i)শুধু iটাইপ জন্য কোন প্রয়োজন হতে পারে ।
TheLethalCoder

@ দ্য লেথলকোডার এটি আপডেট করেছে।
মেটালাকন

@ মেটা কলোন আপনার চারপাশের বন্ধনীগুলির দরকার নেই (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আইডি হিসাবে এবং ব্যবহার হিসাবে কোন বিষয়?
ফাঁস নুন

আমি আমার কাজ করার সময় @ ল্যাকিয়ুন শাগি তার সমাধান পোস্ট করেছেন। তবে আমার সমাধান পোস্ট না করার কোনও কারণ ছিল না। আইডি হিসাবে নামগুলি ব্যবহার করার জন্য, আমি ভেবেছিলাম এটি মজার হবে।
অর্জুন

এটি কাজ করে না [5,4,9,10,5,13]
শেগি

@ শেগি পরীক্ষার কেস স্নিপেট বাস্তবায়নে সমস্যা ছিল; সমাধানের সাথে কোনও ভুল নেই। আসলে, ইনপুট উপাদানটির মান সর্বদা একটি স্ট্রিং থাকে is সুতরাং, স্ট্রিংটি বিভক্ত করার ,ফলে এটি সংখ্যার পরিবর্তে স্ট্রিংগুলির একটি অ্যারে পরিণত হয়েছিল! সমাধান পুরোপুরি ঠিক আছে। কেবল পরীক্ষার কেস স্নিপেটই ভুল ছিল। আমি এখন তা স্থির করেছি। যে ইশারা জন্য ধন্যবাদ! :)
অর্জুন

ওহ, হ্যাঁ, সমস্যাটি ব্যাখ্যা করে! ধন্যবাদ আপনি , @Arjun।
শেগি

1

পার্ল 5.8.9, 73 60 বাইট

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

(58 + 2 পুরো ফাইলটি পড়ার জন্য 'এন' পতাকাটির জন্য এবং একটিতে অটোস্প্লিট)। ধরে নিই ইনপুটটি স্থান পৃথক সংখ্যার লাইন

হ্রাস দাদাকে ধন্যবাদ দৃশ্যমানতার জন্য প্রিন্ট সহ প্রান্ত সহ, এটি না থাকলে 8 বাইট সংরক্ষণ করতে পারে save


সুন্দর! আপনার ভাল প্রাপ্য +1!
অর্জুন

আউটপুট ফর্ম্যাটটি বেশ নমনীয়, আপনাকে আসলে এটিকে print"\n"শেষের দিকে রাখতে হবে না। এছাড়াও, আপনি $b[1]<$b[0]&&print"$b[2] "while@b=splice@a,0,37 বাইট সংরক্ষণ করতে পারেন । অবশেষে, আপনি -aপতাকাটি ব্যবহারের পরিবর্তে ব্যবহার করতে পারেন @a=split(এটি স্বয়ংক্রিয়ভাবে একই রকম হবে এবং ফলটি @Fপরিবর্তে সংরক্ষণ করবে @a); পার্ল ৫.৮.৯ -naসহ সাম্প্রতিক পার্লসের সাথে আপনার -aযথেষ্ট প্রয়োজন। এটি আপনাকে 47-48 বাইটে পাওয়া উচিত।
দাদা

ওহ, আমি -এ সম্পর্কে জানতাম না আমি এখনও মনে করি আমার ইনপুট লাইনে একটি আউটপুট লাইন করা উচিত, অন্যথায় আউটপুটটি বেশ বোধগম্য হয়
টম ট্যানার

1

Clojure, 43 বাইট

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

বিরক্তিকর: /


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