Interleaving การย้อนกลับ


20

รับสายกลับมัน interleavingly นี่คือวิธีการทำabcdefghiและabcdefghijทำดัชนี 0:

  1. แยกตัวอักษรที่ดัชนีเท่า ๆ กันจากตัวอักษรที่ดัชนีแปลก ๆ :
    Acegi
     bdfh
    Acegi bdfhj
  2. กลับตัวอักษรที่ดัชนีแปลก ๆ :
    Acegi
     hfdb
    Acegi jhfdb
  3. สอดแทรกเป็นหนึ่งสตริงอีกครั้ง:
    ahcfedgbi 
    ajchefgdib

กฎระเบียบ

  • คุณต้องสนับสนุนทั้งสตริงที่มีความยาวเท่ากันและมีความยาวคี่
  • 0-index-wise คุณจะต้องย้อนกลับตัวอักษรที่ดัชนีคี่ไม่ใช่แม้กระทั่ง
  • 1 ดัชนีฉลาดคุณต้องย้อนตัวอักษรที่ดัชนีแม้ไม่แปลก
  • ข้อมูลที่ป้อนจะประกอบด้วย ASCII ที่พิมพ์ได้ (รหัสจุด 32-126) ไม่มีการขึ้นบรรทัดใหม่
  • คุณสามารถรับอินพุตเป็นสตริงหรือเป็นรายการตัวอักษร (ไม่ใช่สตริง 1 อักขระ) เช่นString/ char[]หรือchar*ได้รับอนุญาต แต่String[]/ char[][]หรือchar**ไม่

กรณีทดสอบ

Input
Output

Hello, World!
HdlroW ,olle!

Hello World!
H!llooW rlde

ABCDEFGHIJKLMNOPQRSTUVWXYZ
AZCXEVGTIRKPMNOLQJSHUFWDYB

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 }"{$y&w(u*s,q.o0m2k4i6g8e:c<a>_@]B[DYFWHUJSLQNOPMRKTIVGXEZC\A^?`=b;d9f7h5j3l1n/p-r+t)v'x%z#|!~

P
P

AB
AB

xyz
xyz

สำหรับสตริงว่างส่งคืนสตริงว่างเอง



ฉันจำได้ว่านี่เป็นประเภทของ "รหัสลับ" (เช่น Pig Latin) ที่เราได้เรียนรู้ในฐานะเด็กในยุค 80 หรือ 90 สิ่งที่ต้องทำกับคำว่า "รั้ว" หรืออะไรบางอย่าง แต่ความทรงจำของฉันค่อนข้างคลุมเครือ เพื่อนของฉันและฉันจะใช้วิธีนี้ในการเข้ารหัสข้อความลับและผมไม่คิดว่าผู้ใหญ่ที่พบจดหมายของเราเคยได้คิดออก ...
phyrfox

@phyrfox คุณอาจจะคิดเลขศูนย์รั้วรางซึ่งคล้ายกับนี้
Carmeister

อ่าฉันจำได้ว่าทำอย่างนั้น
12Me21

คำตอบ:


7

เยลลี่ขนาด 7 ไบต์

s2ZU2¦Z

นี่เป็นโปรแกรมเต็ม

ลองออนไลน์!

มันทำงานอย่างไร

s2ZU2¦Z  Main link. Argument: s (string)

s2       Split s into pairs.
  Z      Zip/tranpose, grouping characters by the parity of their indices.
     ¦   Sparse application:
   U         Upend; reverse both strings in the pair.
    2        Replace the second string with the reversed string.
      Z  Zip/transpose, interleaving the two strings.

นั่นเป็นวิธีแก้ปัญหาของฉัน byte-by-byte ...
Erik the Outgolfer

3
จิตใจที่เหมือนกันคิดว่าดี ;)
Dennis

12

MATL , 8 ไบต์

t2L)P5M(

ลองออนไลน์! หรือตรวจสอบกรณีทดสอบทั้งหมด

คำอธิบาย

t     % Implicit input. Duplicate
      % STACK: 'abcdefghi', 'abcdefghi'
2L    % Push [2, 2, 1j]. This represents 2:2:end when used as an index
      % STACK: 'abcdefghi', 'abcdefghi', [2, 2, 1j]
)     % Get entries at those indices
      % STACK: 'abcdefghi', 'bdfh'
P     % Flip
      % STACK: 'abcdefghi', 'hfdb'
5M    % Push [2, 2, 1j] again
      % STACK: 'abcdefghi', 'hfdb', [2, 2, 1j]
(     % Write entries at those indices. Implicit display
      % STACK: 'ahcfedgbi'

5
ดังนั้น2L"Push [2,2,1j]" และ5M"Push [2,2,1j] อีกครั้ง" ... และบางคนบอกว่าภาษากอล์ฟไม่สามารถอ่านได้!
ลีโอ

3
@Leo :-D 2Lสร้างตัวอักษรที่กำหนดไว้ล่วงหน้า 5Mเป็นคลิปบอร์ดอัตโนมัติที่เก็บอินพุตเพื่อเรียกใช้ฟังก์ชันล่าสุด จริง ๆ แล้วมันสามารถถูกแทนที่ด้วย2Lจำนวนไบต์เดียวกัน
Luis Mendo

7

อลิซ 10 ไบต์

/ZY
\IOR@/

ลองออนไลน์!

ครึ่งหนึ่งของไบต์ของโปรแกรมนี้ใช้ในการจัดรูปแบบแหล่งที่มาอย่างถูกต้องคำสั่งจริงเพียงIYRZOเพราะอลิซมี builtins ที่เหมาะสมสำหรับงานนี้

คำอธิบาย

ดังที่ฉันพูดไปแล้วมิเรอร์ ( /\) บรรทัดใหม่และ@อยู่ที่นั่นเพียงเพื่อให้ ip เคลื่อนที่ไปในทิศทางที่ถูกต้องและยุติโปรแกรมในตอนท้าย รหัสจริง, linearised มีดังต่อไปนี้:

IYRZO
I      Input a line
 Y     Unzip it into its even positions and its odd ones
  R    Reverse the odd positions
   Z   Zip it back again
    O  Output

ค่อนข้างตรงไปตรงมาฉันว่า


ถ้าเพียง แต่ฉันสามารถเข้าใจได้ว่ากระจกสะท้อนการทำงานของมุม ...
Luis Mendo

@LuisMendo ก่อนอื่นคุณต้องผ่านกระจกเงาซึ่งทำให้คุณเปลี่ยนจากโหมด cardinal (แนวนอน / แนวตั้ง) เป็นโหมด ordinal (diagonal) หรือ viceversa จากนั้นถ้าคุณอยู่ในโหมดที่สำคัญคุณจะอยู่ด้านอื่น ๆ ของบรรทัด / คอลัมน์ในขณะที่ถ้าคุณอยู่ในโหมดปกติคุณจะย้อนกลับไปที่มุม ในกรณีนี้กระจกตะวันออกเฉียงใต้จะพบในโหมดเลขลำดับทำให้คุณเปลี่ยนมาใช้พระคาร์ดินัลและพันไว้ที่จุดเริ่มต้นของบรรทัดที่สองที่กระจกอีกอันทำให้คุณกลับไปเป็นอันดับแรกและเริ่มเคลื่อนที่ไปทางตะวันออกเฉียงเหนือ
Leo

อาดังนั้นการตีกลับเป็นเพียงเส้นทแยงมุมในทิศทางเดียวกับที่คุณมา แล้วมันง่ายกว่าที่ฉันคิด ขอบคุณ!
Luis Mendo

6

Java (OpenJDK 8) , 108 96 94 93 ไบต์

บันทึก 1 ไบต์โดยใช้กลลวงของ@ Neil เรียบร้อยแล้วs[s.length+~i|1]

String f(char[]s){int a=s.length,b=0;String c="";for(;b<a;b++)c+=s[b%2<1?b:a+~b|1];return c;}

ลองออนไลน์!


1
Java ที่มีขนาดต่ำกว่า 100 ไบต์ ... ดูเหมือนถูกต้อง
Erik the Outgolfer

" Java (OpenJDK 8 ) " แล้วทำไมคุณถึงใช้วิธี Java 7 โดยไม่มีการเรียกซ้ำ ใช้ Java 8 แลมบ์ดาโดยการแทนที่String f(char[]s)ด้วยs->.. และคุณสามารถบันทึกไบต์เช่นกันโดยวางเริ่มต้นภายในสำหรับวง:int ลองออนไลน์ for(int a=s.length,b=0;b<a;b++)
Kevin Cruijssen




3

เยลลี่ขนาด 9 ไบต์

Ḋm2U
m2żÇ

ลองออนไลน์!

Ḋm2U Helper Link -> Dequeue (return last len-1 elements), take every second element, reverse
m2żÇ Main Link -> Take every second element, then interleave with the result of the helper link

-1 ไบต์ขอบคุณเดนนิส


หากคุณแทนที่¢ด้วยÇคุณไม่จำเป็นต้องมี³ลิงก์ผู้ช่วยเหลือ
Dennis

@ เดนนิสโอ้สิ่งที่ฉันคิดว่าฉันทำครั้งแรก> _> ไม่เป็นไรฉันต้องทำให้บางสิ่งบางอย่างสับสน ขอบคุณ!
HyperNeutrino

3

จอประสาทตา17 13 ไบต์

O^$`(?<=\G.).

ลองออนไลน์!

แก้ไขข้อผิดพลาดด้วย Neil

บันทึกแล้ว 4 ไบต์ขอบคุณ Kobi

เลือกตัวอักษรแต่ละตัวนำหน้าด้วยจำนวนอักขระที่คี่และย้อนกลับ ทำได้โดยใช้\Gสิ่งที่ตรงกับจุดสิ้นสุดของการแข่งขันครั้งสุดท้าย


กรณีทดสอบครั้งสุดท้ายผิด คุณจะต้องใช้แทน$ #
Neil

@Neil อ๊ะคุณพูดถูก แก้ไขแล้ว!
FryAmTheEggman

คุณสามารถใช้\Gแทน lookbehind และคุณสามารถลบ$ : O^`(?<=\G.).(12 bytes)
Kobi

1
@Kobi ขอบคุณสำหรับเคล็ดลับ! แต่น่าเสียดายที่มันดูเหมือนว่าฉันจะลบออกได้$เนื่องจากอินพุตทั้งหมดอยู่ในลำดับการจัดเรียงคำศัพท์ ฉันได้เพิ่มกรณีทดสอบใหม่ที่รหัสของคุณจะล้มเหลว
FryAmTheEggman

@FryAmTheEggman - เข้าใจแล้วประเด็นที่ดี คิดว่ามันเป็นแค่โชค
Kobi


2

APL (Dyalog)ขนาด 9 ไบต์

ต้องการ⎕IO←0(ค่าเริ่มต้นในหลาย ๆ ระบบ) สำหรับคำจำกัดความที่เหมาะสมของคี่และคู่

⌽@{2|⍳≢⍵}

ลองออนไลน์!

 ถอยหลัง

@ ที่องค์ประกอบที่กรองโดยผลลัพธ์มาจากการใช้หน้ากาก

{ ฟังก์ชั่น anonyomous

2| mod-2 ของ

 ดัชนีของ

 tally (ความยาว) ของ

 อาร์กิวเมนต์

} ในการโต้แย้ง


v16 นั้นแม้เมื่อคำถามนี้ถูกโพสต์?
Zacharý

@ Zachary มันอยู่ในรุ่นเบต้า แต่ก็ไม่ได้เรื่องอีกต่อไป
อดัม

โอ้ดังนั้นฉันคิดว่าคุณจะใช้ v17 ตอนนี้หรือไม่
Zacharý

1

Röda , 34 ไบต์

f a{a/=""a[::2]<>reverse(a[1::2])}

ลองออนไลน์!

คำอธิบาย

a/=""                    Convert the argument a into an array of length-1 strings
      <>                 Interleave
a[::2]                   Every even element of a with
        reverse(a[1::2]) Every odd element of a reversed

นี่คือทางเลือกอื่นในจำนวนเดียวกัน

36 34 ไบต์

{[_/""]|_[::2]<>reverse(_1[1::2])}

นี่คือฟังก์ชั่นที่ไม่ระบุชื่อที่รับอินพุตเป็นสตริงจากอินพุตสตรีม




1

Haskell , 63 ไบต์

(_:r)!(a:s)=a:s!r
_!_=[]
f s=([' '|even$length s]++reverse s)!s

ลองออนไลน์! การใช้งาน:f "some string" .

สำหรับสตริงคี่เช่นabcdefghiฟังก์ชั่นfผ่านสตริงและการกลับรายการของฟังก์ชัน!ซึ่งสลับการใช้ตัวอักษรจากทั้งสองสตริง สำหรับสตริงที่ใช้ไม่ได้ผลและเราต้องผนวกอักขระจำลองก่อนเพื่อให้ได้ค่าออฟเซ็ต


1

C, 69 ไบต์

c,l;f(char*s){l=strlen(s);for(c=0;c<l;++c)putchar(s[c&1?l-l%2-c:c]);}

ค่อนข้างง่าย เดินสตริงพิมพ์อักขระปัจจุบันหรืออักขระตรงข้าม

Ungolfed และอธิบาย:

f(char *str) {
    int len = strlen(str);      // Get the total length
    for(int c = 0; c<len; ++c)  // Loop over the string
        putchar(s[              // Print the char that is,
            c & 1               // if c is odd,
                ? l - l % 2 - c // c chars from the end (adjusting odd lengths),
                : c             // and at index c otherwise
        ]);
}


1

Japt , 14 13 ไบต์

โค้ด 12 ไบต์ +1 สำหรับการ-Pตั้งค่าสถานะ

บันทึก 1 ไบต์ขอบคุณ @Shaggy

¬ë íU¬Åë w)c

คำอธิบาย:

¬ë íU¬Åë w)c
¬                   Split the input into an array of chars
 ë                  Get every other char, starting at index 0
   í                Pair with:
    U¬                Input, split into a char array
      Å               .slice(1)
       ë              Get every other char
         w            Reverse
           c       Flatten
-P                 Join into a string

ลองออนไลน์!


อืมë2,1ค่อนข้างน่าเกลียด ฉันคิดว่าคุณสามารถทำได้ó oแทนบางที ...
ETHproductions

@ETHproductions ใช่ฉันคิดว่าÅëทำงานเกินไป
Oliver

โอ้คนดี :-)
ETHproductions


1

K (oK) , 18 ไบต์

วิธีการแก้:

{x[w:&2!!#x]:x@|w}

ลองออนไลน์!

ตัวอย่าง:

> {x[w:&2!!#x]:x@|w}"Hello, World!"
"HdlroW ,olle!"
> {x[w:&2!!#x]:x@|w}"Hello World!"
"H!llooW rlde"

คำอธิบาย:

ตีความจากขวาไปซ้ายเป็นส่วนใหญ่ค้นหาอักขระคี่ดัชนีย้อนกลับและใส่กลับเข้าไปในสตริง

{x[w:&2!!#x]:x@|w} / solution
{                } / lambda function with implicit parameter x
         #x        / count x,    #"Hello, World!" -> 13
        !          / til,        !13 -> 0 1 2 3 4 5 6 7 8 9 10 11 12
      2!           / 2 modulo,   2!0 1 2 3 4 5 6 7 8 9 10 11 12 -> 0 1 0 1 0 1 0 1 0 1 0 1 0
     &             / where true, @0 1 0 1 0 1 0 1 0 1 0 1 0 -> 1 3 5 7 9 11
   w:              / store in variable w
               |w  / reverse w,  |1 3 5 7 9 11 -> 11 9 7 5 3 1
             x@    / index into x at these indices
 x[        ]:      / assign right to x at these indices

1

J, 26 ไบต์

[:,@,./(0 1$~#)]`(|.@])/.]

ungolfed

[: ,@,./ (0 1 $~ #) ]`(|.@])/. ]

คำอธิบาย

  • (0 1$~#)]`(|.@])/.]ใช้ Key /.เพื่อแยกอินพุตเป็นกลุ่มคู่ / คี่: (0 1$~#)สร้างนิยามกลุ่มโดยทำซ้ำ 0 และ 1 วนซ้ำตามความยาวของอินพุต เราใช้แบบฟอร์มของ gerundial ที่สำคัญสำหรับคำกริยาหลักซึ่งใช้ตัวตนของกลุ่มแรกและกลับกลุ่มที่สอง:]`(|.@])(|.@])
  • ตอนนี้เรามีสองกลุ่มอันแปลก ๆ กลับด้านเราแค่ซิปพวกมันเข้าด้วยกันแล้วแบน: ,@,./

ลองออนไลน์!


21 ไบต์ด้วย(\:2|#\)({~/:)#\<.#\.และ 19 ไบต์พร้อม[:,@,./]]| ./. ~ 2 | # `
ไมล์

ขอบคุณไมล์ มีการพิมพ์ผิดในที่สองหรือไม่ ฉันได้รับข้อผิดพลาด
Jonah

@miles เป็นคนแรก: ฉันเข้าใจว่ามันแยกวิเคราะห์และในทางเทคนิคว่าเกิดอะไรขึ้น แต่ฉันไม่เห็นกลยุทธ์โดยรวม คุณอธิบายได้ไหม
โจนาห์

โอ้ใช่มันควรจะเป็น[:,@,./]]`|./.~2|#\เห็บได้แยกออก
ไมล์

17 ไบต์ด้วย0,@|:]]`|./.~2|#\
ไมล์

0

Python 3, 93 87 bytes

lambda s:"".join("".join(t)for t in zip(s[::2],reversed(s[1::2])))+("",s[-1])[len(s)%2]

แทนที่reversed(s[1::2])ด้วยs[1::2][::-1]เพื่อบันทึก 4 ไบต์
Mr. Xcoder

มันลงมาถึง 83 ไบต์และสามารถเล่นกอล์ฟได้ในตอนท้าย:f=lambda s,j="".join:j(j(t)for t in zip(s[::2],s[1::2][::-1]))+("",s[-1])[len(s)%2]
Mr. Xcoder

0

Perl 6 ,  63 58  55 ไบต์

{[~] .comb[{flat roundrobin (0,2...^*>=$_),[R,] 1,3...^*>=$_}]}

ทดสอบมัน

{[~] flat roundrobin .comb[{0,2...*},{$_-1-$_%2,*-2...*}]}

ทดสอบมัน

{[~] flat roundrobin .comb[{0,2...*},{[R,] 1,3...^$_}]}

ทดสอบมัน

{  # bare block lambda with implicit parameter 「$_」

  [~]                 # reduce using string concatenation operator

    flat              # make the following a flat list

    roundrobin        # grab one from each of the following 2 lists,
                      # repeat until both are empty

    .comb\            # split the input into graphemes (implicit method call)

    [                 # index into that sequence



      { 0, 2 ... * }, # code block producing every non-negative even number


      {               # code block producing reversed odd numbers
                      # (「$_」 here contains the number of available elements)

        [R,]          # reduce with reversed comma operator
                      # (shorter than 「reverse」)

        1, 3 ...^ $_  # odd numbers stopping before it gets
                      # to the number of input elements
      }


    ]
}

ฉันต้องใช้roundrobinมากกว่าzipเพราะzipหยุดทันทีที่รายการอินพุตหนึ่งรายการหมดลง




0

GNU APL 1.2, 24 ไบต์

R[X]←⌽R[X←2×⍳⌊.5×⍴R←⍞]◊R

APL ทำงานจากขวาไปซ้าย ⍴R←⍞กำหนดอินพุตของผู้ใช้Rจากนั้นประเมินความยาว ลดลงครึ่งหนึ่งโดยการคูณด้วย.5และใช้ฟังก์ชั่นชั้นส่งกลับตัวเลขทั้งหมดจาก 1 ถึงอาร์กิวเมนต์

APL ดำเนินการกับอาร์เรย์ดังนั้นอาร์เรย์ที่เราเพิ่งได้รับจากแต่ละองค์ประกอบเพิ่มขึ้นเป็นสองเท่าทำให้เราได้ดัชนีที่⎕IOเท่ากัน

เมื่อเข้าถึงดัชนีหลาย ๆ เวกเตอร์ APL จะให้องค์ประกอบที่ดัชนีเหล่านั้นในเวกเตอร์ R[X←2×⍳⌊.5×⍴R←⍞]ให้องค์ประกอบเพียงแค่การจัดทำดัชนี ฝืนองค์ประกอบ จากนั้นกำหนดค่าที่กลับรายการกลับไปที่ดัชนีคู่ (การกำหนดดัชนีเหล่านี้เพื่อXบันทึก 6 ไบต์)

เป็นตัวคั่นคำสั่ง หลังจากกลับรายการเสร็จแล้วให้ประเมินRเพื่อพิมพ์ผลลัพธ์


0

Perl 5, 46 + 3 สำหรับแฟล็ก -F = 49 ไบต์

while(++$x<@F){print$F[$x%2?$x-1:@F-$x-$#F%2]}

ใช้การ-Fตั้งค่าสถานะเพื่อแบ่งอินพุตให้เป็นอาร์เรย์ของอักขระโดย@Fอัตโนมัติ วนรอบอาร์เรย์และเอาต์พุตองค์ประกอบสำหรับดัชนีคู่หรือดัชนีนั้น (บวกหนึ่งสำหรับสตริงความยาวคี่) จากจุดสิ้นสุดสำหรับอินพุตคี่

รับอินพุตด้วยบรรทัดใหม่ต่อท้าย หากไม่มีการขึ้นบรรทัดใหม่คุณสามารถเปลี่ยนการเพิ่มก่อนล่วงหน้า$xเป็นการเพิ่มภายหลังได้

สามารถอ่านได้มากขึ้น:

while(++$x<@F) { #While the index is less than the number of elements in the array. $x is 1-indexing the array despite the fact that perl is 0-indexed because it keeps us from having to use a proper for loop or a do-while loop
    if($x%2) { #If $x is odd
        print $F[$x-1] #Print the element
    } else {
        print $F[@F-$x-$#F%2] #Print from the end. $#F%2 fixes it for odd length strings    
    }
}

0

05AB1E , 21 ไบต์

DgÉi¶«}2ô.BøRćR‚˜øJ¶K

ลองออนไลน์!

ฉันเดาเหตุผลที่สิ่งนี้ไม่ได้ทำใน 05AB1E ยังเป็นเพราะมันแย่ ...

อีกครั้งที่องค์ประกอบzipอัตโนมัติของฟังก์ชันดรอปดาวน์ทำให้เจ็บแทนความช่วยเหลือ

ป.ล. หากคุณมีข้อเสนอแนะในการปรับปรุงคำตอบของฉันโพสต์ของคุณเอง; มีโอกาสมากพอที่จะปรับปรุงเพื่อให้แน่ใจว่าคุณได้รับคะแนน ฉันค่อนข้างละอายใจกับคำตอบนี้


0

q / kdb +, 70 56 47 38 35 29 27 ไบต์

วิธีการแก้:

{x[w]:x(|)w:(&)#:[x]#0 1;x}

ตัวอย่าง:

q){x[w]:x(|)w:(&)#:[x]#0 1;x}"Hello, World!"
"HdlroW ,olle!"
q){x[w]:x(|)w:(&)#:[x]#0 1;x}"Hello World!"
"H!llooW rlde"

คำอธิบาย:

ค้นหาดัชนีคี่ของสตริงกลับรายการนี้ดึงองค์ประกอบที่จุดเหล่านี้จากนั้นกำหนดใหม่ให้กับสตริงเดิม

{x[w]:x reverse w:where count[x]#0 1;x} / ungolfed
{                                   ; } / lambda function with two lines
                                 0 1    / the list (0;1)
                                #       / take
                        count[x]        / length of input
                  where                 / indices where this is > 0
                w:                      / save in variable w
        reverse                         / reverse this list
      x                                 / index into x at these points
     :                                  / assignment             
 x[w]                                   / assign x at indices with new values
                                     x  / return x

การแก้ไข:

  • -9 ไบต์; สลับออกcountสำหรับ(#:), tilสำหรับ(!), whereสำหรับ(&:)และสำหรับreverse(|:)

  • -3 ไบต์; สลับออก(#:)สำหรับ(#), (&:)สำหรับ(&)และ(|:)สำหรับ(|)

  • -6 ไบต์; สมบูรณ์เขียนใหม่

  • -2 ไบต์; ใช้การมอบหมายมากกว่าใช้


0

05AB1E , 12 ไบต์

RDgÈúøvyNÉè?

ลองออนไลน์!

RDgÈúøvyNÉè?   Implicit input: "abcdefghij"
R              Reverse the string: "jihgfedcba"
 DgÈú          Put (length is even?1:0) spaces in front of it " jihgfedcba"
     ø         Zip (reinjects the input implicitly): ["a ", "bj", "ci", ...]
      vy       For each element of the list
        NÉè    Extract&push element[iteration is odd?1:0] 
           ?   Print without newline
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.