Arrow those variables!I used to solve code golf puzzles like you, but then I took an arrow in the kneeOutput a Dance Dance Revolution arrow chartSorting a list of strings without using any built-in sort methodSolve a reverse arrow mazePost-determined Array SortingTranspile these ES6 arrow functions!The next colourPronunciationSort™Draw some expanding arrowsGreatest common substring

Languages that we cannot (dis)prove to be Context-Free

How do I create uniquely male characters?

TGV timetables / schedules?

Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?

Are the number of citations and number of published articles the most important criteria for a tenure promotion?

What's the output of a record cartridge playing an out-of-speed record

Risk of getting Chronic Wasting Disease (CWD) in the United States?

Why "Having chlorophyll without photosynthesis is actually very dangerous" and "like living with a bomb"?

Accidentally leaked the solution to an assignment, what to do now? (I'm the prof)

Is it important to consider tone, melody, and musical form while writing a song?

How to test if a transaction is standard without spending real money?

Why does Kotter return in Welcome Back Kotter?

Have astronauts in space suits ever taken selfies? If so, how?

Did Shadowfax go to Valinor?

Can I ask the recruiters in my resume to put the reason why I am rejected?

How is the claim "I am in New York only if I am in America" the same as "If I am in New York, then I am in America?

Why not use SQL instead of GraphQL?

What are the differences between the usage of 'it' and 'they'?

Is it unprofessional to ask if a job posting on GlassDoor is real?

strToHex ( string to its hex representation as string)

How to write a macro that is braces sensitive?

What does it mean to describe someone as a butt steak?

If I cast Expeditious Retreat, can I Dash as a bonus action on the same turn?

Fencing style for blades that can attack from a distance



Arrow those variables!


I used to solve code golf puzzles like you, but then I took an arrow in the kneeOutput a Dance Dance Revolution arrow chartSorting a list of strings without using any built-in sort methodSolve a reverse arrow mazePost-determined Array SortingTranspile these ES6 arrow functions!The next colourPronunciationSort™Draw some expanding arrowsGreatest common substring













26












$begingroup$


Challenge



Robin likes having his variables declaration in the shape of an arrow. Here's how he does it:



  • Input any number of strings

  • Order them by ascending length


  • Output them ordered by the middle to roughly form a negative arrowhead, like this (whichever order golfs the best):



    5 or 4
    3 2
    1 1
    2 3
    4 5


Test Cases



Input:



bow
arrows
sheriffOfNottingham
kingRichard
maidMarian
princeJohn
sherwoodForest


Output:



sheriffOfNottingham
kingRichard
maidMarian
bow
arrows
princeJohn
sherwoodForest


Input:



a
bb
cc


Output (both are valid):



bb
a
cc

cc
a
bb


Input:



one
four
seven
fifteen


Possible output (the only other valid output is its vertical mirror):



seven
one
four
fifteen


Notes



  • The strings are in camelCase and have no numbers or special characters, only lowercase and uppercase letters.


  • The input can be anything you like: comma-separated as one string, array, ... Any I/O format is allowed.


  • Between strings with the same length, any order is accepted.









share|improve this question









New contributor




Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$











  • $begingroup$
    I feel like there was a very similar challenge before...but welcome to PPCG!
    $endgroup$
    – Giuseppe
    Apr 3 at 16:48











  • $begingroup$
    @Giuseppe Yeah that's what I thought after posting, there's no way it hasn't been done before. Would you be ok with me deleting it now that you've answered it?
    $endgroup$
    – Teleporting Goat
    Apr 3 at 16:54







  • 1




    $begingroup$
    well I've been searching for a dupe but I'm not very good at the search...we do have a sandbox for posting challenges which can often catch things like that. I'm perfectly OK with you deleting it if you're worried about it being a dupe.
    $endgroup$
    – Giuseppe
    Apr 3 at 16:55







  • 1




    $begingroup$
    It's OK, we all start from the beginning :-)
    $endgroup$
    – Giuseppe
    Apr 3 at 17:06






  • 1




    $begingroup$
    Could you add a test case with an even number of strings?
    $endgroup$
    – Sherlock9
    Apr 3 at 17:22















26












$begingroup$


Challenge



Robin likes having his variables declaration in the shape of an arrow. Here's how he does it:



  • Input any number of strings

  • Order them by ascending length


  • Output them ordered by the middle to roughly form a negative arrowhead, like this (whichever order golfs the best):



    5 or 4
    3 2
    1 1
    2 3
    4 5


Test Cases



Input:



bow
arrows
sheriffOfNottingham
kingRichard
maidMarian
princeJohn
sherwoodForest


Output:



sheriffOfNottingham
kingRichard
maidMarian
bow
arrows
princeJohn
sherwoodForest


Input:



a
bb
cc


Output (both are valid):



bb
a
cc

cc
a
bb


Input:



one
four
seven
fifteen


Possible output (the only other valid output is its vertical mirror):



seven
one
four
fifteen


Notes



  • The strings are in camelCase and have no numbers or special characters, only lowercase and uppercase letters.


  • The input can be anything you like: comma-separated as one string, array, ... Any I/O format is allowed.


  • Between strings with the same length, any order is accepted.









share|improve this question









New contributor




Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$











  • $begingroup$
    I feel like there was a very similar challenge before...but welcome to PPCG!
    $endgroup$
    – Giuseppe
    Apr 3 at 16:48











  • $begingroup$
    @Giuseppe Yeah that's what I thought after posting, there's no way it hasn't been done before. Would you be ok with me deleting it now that you've answered it?
    $endgroup$
    – Teleporting Goat
    Apr 3 at 16:54







  • 1




    $begingroup$
    well I've been searching for a dupe but I'm not very good at the search...we do have a sandbox for posting challenges which can often catch things like that. I'm perfectly OK with you deleting it if you're worried about it being a dupe.
    $endgroup$
    – Giuseppe
    Apr 3 at 16:55







  • 1




    $begingroup$
    It's OK, we all start from the beginning :-)
    $endgroup$
    – Giuseppe
    Apr 3 at 17:06






  • 1




    $begingroup$
    Could you add a test case with an even number of strings?
    $endgroup$
    – Sherlock9
    Apr 3 at 17:22













26












26








26


2



$begingroup$


Challenge



Robin likes having his variables declaration in the shape of an arrow. Here's how he does it:



  • Input any number of strings

  • Order them by ascending length


  • Output them ordered by the middle to roughly form a negative arrowhead, like this (whichever order golfs the best):



    5 or 4
    3 2
    1 1
    2 3
    4 5


Test Cases



Input:



bow
arrows
sheriffOfNottingham
kingRichard
maidMarian
princeJohn
sherwoodForest


Output:



sheriffOfNottingham
kingRichard
maidMarian
bow
arrows
princeJohn
sherwoodForest


Input:



a
bb
cc


Output (both are valid):



bb
a
cc

cc
a
bb


Input:



one
four
seven
fifteen


Possible output (the only other valid output is its vertical mirror):



seven
one
four
fifteen


Notes



  • The strings are in camelCase and have no numbers or special characters, only lowercase and uppercase letters.


  • The input can be anything you like: comma-separated as one string, array, ... Any I/O format is allowed.


  • Between strings with the same length, any order is accepted.









share|improve this question









New contributor




Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




Challenge



Robin likes having his variables declaration in the shape of an arrow. Here's how he does it:



  • Input any number of strings

  • Order them by ascending length


  • Output them ordered by the middle to roughly form a negative arrowhead, like this (whichever order golfs the best):



    5 or 4
    3 2
    1 1
    2 3
    4 5


Test Cases



Input:



bow
arrows
sheriffOfNottingham
kingRichard
maidMarian
princeJohn
sherwoodForest


Output:



sheriffOfNottingham
kingRichard
maidMarian
bow
arrows
princeJohn
sherwoodForest


Input:



a
bb
cc


Output (both are valid):



bb
a
cc

cc
a
bb


Input:



one
four
seven
fifteen


Possible output (the only other valid output is its vertical mirror):



seven
one
four
fifteen


Notes



  • The strings are in camelCase and have no numbers or special characters, only lowercase and uppercase letters.


  • The input can be anything you like: comma-separated as one string, array, ... Any I/O format is allowed.


  • Between strings with the same length, any order is accepted.






code-golf string sorting






share|improve this question









New contributor




Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Apr 3 at 17:29







Teleporting Goat













New contributor




Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Apr 3 at 16:37









Teleporting GoatTeleporting Goat

23435




23435




New contributor




Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Teleporting Goat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











  • $begingroup$
    I feel like there was a very similar challenge before...but welcome to PPCG!
    $endgroup$
    – Giuseppe
    Apr 3 at 16:48











  • $begingroup$
    @Giuseppe Yeah that's what I thought after posting, there's no way it hasn't been done before. Would you be ok with me deleting it now that you've answered it?
    $endgroup$
    – Teleporting Goat
    Apr 3 at 16:54







  • 1




    $begingroup$
    well I've been searching for a dupe but I'm not very good at the search...we do have a sandbox for posting challenges which can often catch things like that. I'm perfectly OK with you deleting it if you're worried about it being a dupe.
    $endgroup$
    – Giuseppe
    Apr 3 at 16:55







  • 1




    $begingroup$
    It's OK, we all start from the beginning :-)
    $endgroup$
    – Giuseppe
    Apr 3 at 17:06






  • 1




    $begingroup$
    Could you add a test case with an even number of strings?
    $endgroup$
    – Sherlock9
    Apr 3 at 17:22
















  • $begingroup$
    I feel like there was a very similar challenge before...but welcome to PPCG!
    $endgroup$
    – Giuseppe
    Apr 3 at 16:48











  • $begingroup$
    @Giuseppe Yeah that's what I thought after posting, there's no way it hasn't been done before. Would you be ok with me deleting it now that you've answered it?
    $endgroup$
    – Teleporting Goat
    Apr 3 at 16:54







  • 1




    $begingroup$
    well I've been searching for a dupe but I'm not very good at the search...we do have a sandbox for posting challenges which can often catch things like that. I'm perfectly OK with you deleting it if you're worried about it being a dupe.
    $endgroup$
    – Giuseppe
    Apr 3 at 16:55







  • 1




    $begingroup$
    It's OK, we all start from the beginning :-)
    $endgroup$
    – Giuseppe
    Apr 3 at 17:06






  • 1




    $begingroup$
    Could you add a test case with an even number of strings?
    $endgroup$
    – Sherlock9
    Apr 3 at 17:22















$begingroup$
I feel like there was a very similar challenge before...but welcome to PPCG!
$endgroup$
– Giuseppe
Apr 3 at 16:48





$begingroup$
I feel like there was a very similar challenge before...but welcome to PPCG!
$endgroup$
– Giuseppe
Apr 3 at 16:48













$begingroup$
@Giuseppe Yeah that's what I thought after posting, there's no way it hasn't been done before. Would you be ok with me deleting it now that you've answered it?
$endgroup$
– Teleporting Goat
Apr 3 at 16:54





$begingroup$
@Giuseppe Yeah that's what I thought after posting, there's no way it hasn't been done before. Would you be ok with me deleting it now that you've answered it?
$endgroup$
– Teleporting Goat
Apr 3 at 16:54





1




1




$begingroup$
well I've been searching for a dupe but I'm not very good at the search...we do have a sandbox for posting challenges which can often catch things like that. I'm perfectly OK with you deleting it if you're worried about it being a dupe.
$endgroup$
– Giuseppe
Apr 3 at 16:55





$begingroup$
well I've been searching for a dupe but I'm not very good at the search...we do have a sandbox for posting challenges which can often catch things like that. I'm perfectly OK with you deleting it if you're worried about it being a dupe.
$endgroup$
– Giuseppe
Apr 3 at 16:55





1




1




$begingroup$
It's OK, we all start from the beginning :-)
$endgroup$
– Giuseppe
Apr 3 at 17:06




$begingroup$
It's OK, we all start from the beginning :-)
$endgroup$
– Giuseppe
Apr 3 at 17:06




1




1




$begingroup$
Could you add a test case with an even number of strings?
$endgroup$
– Sherlock9
Apr 3 at 17:22




$begingroup$
Could you add a test case with an even number of strings?
$endgroup$
– Sherlock9
Apr 3 at 17:22










25 Answers
25






active

oldest

votes


















14












$begingroup$


Python 2, 47 bytes





lambda l:l.sort(key=len)or l[1::2][::-1]+l[::2]


Try it online!






share|improve this answer









$endgroup$












  • $begingroup$
    You'll need to rearrange some stuff, but you can use [::-2] directly to save 5 bytes.
    $endgroup$
    – Sherlock9
    Apr 3 at 17:03










  • $begingroup$
    @Sherlock9 I tried that, but then I had to check for the length, as lists with even / uneven lengths have to be handled differently.
    $endgroup$
    – ovs
    Apr 3 at 17:06










  • $begingroup$
    Also works for Python 3. Would removing "lambda l:" and "or" and make it on 2 lines to save 11 bytes still be acceptable as "Any I/O format is allowed" ?
    $endgroup$
    – potato
    yesterday


















9












$begingroup$


R, 63 48 bytes





function(L)c(rev(o<-L[order(nchar(L))]),o)[!0:1]


Try it online!



Sort by string lengths, then combine the reversed list with the sorted list, finally, take every 2nd element, starting at 1-based index 1.






share|improve this answer











$endgroup$












  • $begingroup$
    o<-L[... The other way to 'arrow variables'. A less important aside, pryr::f(...) works here for 46. Try it online!
    $endgroup$
    – CriminallyVulgar
    2 days ago


















7












$begingroup$

Javascript 77 bytes



Takes input as an array of strings, outputs an arrow-sorted array of strings.



s=>s.sort((a,b)=>a.length-b.length).reduce((m,x,i)=>i%2?[...m,x]:[x,...m],[])


Explanation



s => // take input as an array of strings s
s.sort((a,b)=>a.length-b.length) // sort input by string length
.reduce( // reduce
(m,x,i)=>i%2?[...m,x]:[x,...m], // if index is even, stick string x at the end of the memo
// array, else at the beginning
[] // memo initialized to empty array
)





share|improve this answer











$endgroup$








  • 1




    $begingroup$
    I don't think you have to count f=. 77
    $endgroup$
    – dana
    2 days ago










  • $begingroup$
    That is inconsistent in the js code golf submissions from what I have seen. I'm happy to exclude it if it doesn't count.
    $endgroup$
    – asgallant
    2 days ago






  • 2




    $begingroup$
    I think it depends whether your function uses recursion. i.e. f=x=>x?f(x-1). If so, you need to include f since you are calling it in your function. However, since you are not using recursion, you shouldn't have to include f. There are several posts in Meta, this one seems to explain it a little better. codegolf.meta.stackexchange.com/a/9032/8340
    $endgroup$
    – dana
    2 days ago










  • $begingroup$
    That would explain the inconsistencies I've seen.
    $endgroup$
    – asgallant
    2 days ago


















5












$begingroup$


C# (Visual C# Interactive Compiler), 89 bytes





n=>(n=n.OrderBy(x=>x.Length)).Where((a,b)=>b%2>0).Reverse().Concat(n.Where((a,b)=>b%2<1))


Try it online!






share|improve this answer









$endgroup$




















    5












    $begingroup$


    K (oK), 24 bytes



    Solution:



    x(<#:'x)(|&~w),&w:2!!#x:


    Try it online!



    Explanation:



    Generate the 6 4 2 0 1 3 5 sequence, use that to index into the ascending lengths of input, and use that to index into the original array:



    x(<#:'x)(|&~w),&w:2!!#x: / the solution
    x: / save input as x
    # / count (#) of x
    ! / range 0 to ...
    2! / modulo 2
    w: / save as w
    & / indices where true
    , / join with
    ( ) / do this together
    ~w / not (~) w
    & / indices where true
    | / reverse
    ( ) / do this together
    #:'x / count (#:) of each (') x
    < / indices to sort ascending
    x / index into x





    share|improve this answer











    $endgroup$




















      5












      $begingroup$


      Jelly, 9 8 bytes



      LÞŒœm"-Ẏ


      Try it online!



      LÞŒœṚ;¥/


      is also 8 bytes.



      Thanks to @EriktheOutgolfer and @JonathanAllan for both offering golfs to save a byte.






      share|improve this answer











      $endgroup$












      • $begingroup$
        Nice! Clever golf: Ṛ€1¦ can become m"-.
        $endgroup$
        – Erik the Outgolfer
        Apr 3 at 18:38










      • $begingroup$
        Or you could go for LÞŒœṚ;¥/
        $endgroup$
        – Jonathan Allan
        Apr 3 at 18:49


















      5












      $begingroup$


      Ruby, 51 bytes





      ->lr=1;l.sort_by!(&:size).mapl[r-=2]


      Try it online!






      share|improve this answer









      $endgroup$




















        5












        $begingroup$


        05AB1E, 6 5 bytes



        Saved 1 byte thanks to Kevin Cruijssen



        I/O is a list of strings.

        Link is modified for newline separated I/O for easier testing.



        éι`Rì


        Try it online!



        Explanation



        é # sort by length ascending
        ι # uninterleave into 2 parts, both sorted ascending
        ` # push the 2 parts separately to the stack
        R # reverse the second part
        ì # and append it to the first





        share|improve this answer











        $endgroup$












        • $begingroup$
          You can remove the first R and replace « with i to save a byte, since the third bullet-point rule allows both versions of uninterleaving.
          $endgroup$
          – Kevin Cruijssen
          2 days ago










        • $begingroup$
          @KevinCruijssen: Oh yeah, Thanks!
          $endgroup$
          – Emigna
          2 days ago


















        5












        $begingroup$


        J, 11 bytes



        ,~`,/@:#&>


        Try it online!



        We sort it down first.



        Then we reduce the list form right to left, but alternating which side we put the new element on. Done.






        share|improve this answer











        $endgroup$












        • $begingroup$
          Very nice! You have a space at the end though, remove it for 11 bytes :)
          $endgroup$
          – Galen Ivanov
          2 days ago






        • 1




          $begingroup$
          Thanks Galen. Fixed!
          $endgroup$
          – Jonah
          2 days ago


















        4












        $begingroup$


        PowerShell, 66 bytes





        1..($a=$args|sort l*).count|?$_%2|%$a[-$_];$x=,$a[-++$_]+$x;$x


        Try it online!



        Takes input via splatting, which manifests on TIO as separate command-line arguments. sorts on the length, stores that into $a, and constructs a range from 1 up to the count of input strings. We then pull out only the odd ones ?$_%2 and feed those into a loop |%.... Each iteration, we put the "last", then the "third from last", and so on onto the pipeline with $a[-$_]. Separately, we also accumulate into $x the "second from last", "fourth from last", etc. Out of the loop and the pipeline is flushed (so those elements are output) and then we output $x. In both instances, the default output gives us newlines between items automatically.






        share|improve this answer









        $endgroup$




















          4












          $begingroup$


          PHP, 144 141 bytes





          function($a)usort($a,function($b,$c)return strlen($b)-strlen($c););$e=[];foreach($a as$d)(array_.[unshift,push][++$i%2])($e,$d);return$e;


          Try it online!



          -3 bytes thanks to @Ismael Miguel!






          share|improve this answer











          $endgroup$












          • $begingroup$
            nice one. Where can I read more about [array_unshift,array_push][++$i%2]($e,$d)?
            $endgroup$
            – abhig10
            2 days ago






          • 2




            $begingroup$
            @abhig10 sure. It's an array with the two function names ['array_push','array_unshift'] with [++$i%2] as the index of the array alternating between a 0 or 1 so will evaluate to the other function each time. PHP's "variable functions" let you assign a varible to a function and execute by calling with parenthesis (ex: $f='array_push'; $f($e,$d); == array_push($e,$d)) so the ($e,$d) is then calling the evaluated element of the array. Just a shorter way to do if (++$i%2) array_push($e,$d); else array_unshift($e,$e);. Guess there was some PHP syntactic sugar after all!
            $endgroup$
            – gwaugh
            2 days ago











          • $begingroup$
            Okay, it took me sometime to understand this. Awesome.
            $endgroup$
            – abhig10
            2 days ago






          • 1




            $begingroup$
            You can save 3 bytes by replacing [array_unshift,array_push][++$i%2]($e,$d) with (array_.[unshift,push][++$i%2])($e,$d). What I did was to remove the repeated array_, concatenated it and then the result is passed to the call.
            $endgroup$
            – Ismael Miguel
            yesterday






          • 1




            $begingroup$
            @IsmaelMiguel that's brilliant. Thank you!
            $endgroup$
            – gwaugh
            yesterday


















          4












          $begingroup$

          MATLAB, 87 bytes



          function f(y);[B,I]=sort(cellfun(@(x)length(x),y));yflip(I(1:2:end)),yI(2:2:end)'


          Takes input as cell array of strings, outputs column of strings (not sure if that's legal)



          > s = 'qweq qwe qw','qweqw','12132132131231231','asdasdasda','qwe','w';
          > f(s)
          > >>
          > ans =
          >
          > 6×1 cell array
          >
          > 'qweq qwe qw'
          > 'qweqw'
          > 'qwe'
          > '1234'
          > 'asdasdasda'
          > '12132132131231231'


          PS: Thanks Sanchises for pointing to a bug with odd-length inputs






          share|improve this answer











          $endgroup$












          • $begingroup$
            This fails on odd number of input strings, e.g. f('loooooooong','medium','short')
            $endgroup$
            – Sanchises
            2 days ago










          • $begingroup$
            Also some general golfing tips: the end is optional for a function. Using function x=f(y);x=...' is shorter than function f(y);disp(...').
            $endgroup$
            – Sanchises
            2 days ago










          • $begingroup$
            If you're stuck, here's how I would do it.
            $endgroup$
            – Sanchises
            2 days ago










          • $begingroup$
            @Sanchises thanks for pointing bug out. I did fix it exactly like you did. My issue with disp is i am not sure what output rules are. Should it be pure text or not? or disp(...) is okay or even just x=... as you suggest
            $endgroup$
            – aaaaaa
            2 days ago










          • $begingroup$
            That question can be quite tricky to answer. In general however, input/output is as flexible as possible so you can focus on the main challenge (there's a list of allowed I/O by default on meta) and in this case, no extra restrictions are specified by the OP. In my experience, just y=input('');doSomething() (without trailing semicolon to output the result) is shortest in MATLAB
            $endgroup$
            – Sanchises
            2 days ago


















          2












          $begingroup$

          APL+WIN, 31 38 bytes



          See Adams comment



          ⊃n[(⍳⍴n)~a],⌽n[a←2×⍳⌊.5×⍴n←n[⍒∊⍴¨n←⎕]]


          Try it online Courtesy of Dyalog Classic!



          Prompts for a nested vector of strings






          share|improve this answer











          $endgroup$












          • $begingroup$
            Does APL+ not have Monadic "tally" to replace ∊⍴ ?
            $endgroup$
            – Adám
            Apr 3 at 19:02







          • 1




            $begingroup$
            Fails on '12' '1234' '1234' '1234' '1234' '12345678' '12345678' '12345678' '12345678'. Clearly, the result should have been '12345678' '12345678' '1234' '1234' '12' '1234' '1234' '12345678' '12345678'
            $endgroup$
            – Adám
            Apr 3 at 19:06










          • $begingroup$
            @Adám My ancient version of APL+ does not have ≢. Agreed on your second comment I will take a look at it tomorrow.
            $endgroup$
            – Graham
            Apr 3 at 19:26


















          2












          $begingroup$


          Retina, 26 bytes



          N$`
          $.&
          *,2,^A`.+
          ,2,G`.+


          Try it online! Explanation:



          N$`
          $.&


          Sort the lines in ascending order of length ($.& returns the length of the line).



          *,2,^A`.+


          Temporarily delete alternate lines and output the remaining lines in reverse order.



          ,2,G`.+


          Keep the only lines that were temporarily deleted and output them.






          share|improve this answer









          $endgroup$




















            2












            $begingroup$


            Gaia, 10 bytes



            el∫v:v+2%ụ


            Try it online!



            e		| eval as Gaia code (list of strings)
            l∫ | ∫ort by lengths (ascending)
            v:v | reverse, dup, reverse
            + | concatenate lists
            2% | take every other element
            ụ | join by newlines and output





            share|improve this answer









            $endgroup$








            • 4




              $begingroup$
              i like that your comments in unwrapped code form an arrow of strings
              $endgroup$
              – aaaaaa
              Apr 3 at 23:47


















            2












            $begingroup$

            Japt, 8 bytes



            ñÊó g0_w


            -3 bytes thanks to Shaggy!



            Try it






            share|improve this answer











            $endgroup$












            • $begingroup$
              10 bytes with output as a 2D-array, which would seem to be allowed.
              $endgroup$
              – Shaggy
              Apr 3 at 21:28










            • $begingroup$
              Or, maybe, 8 bytes? On my phone so haven't tested it properly.
              $endgroup$
              – Shaggy
              Apr 3 at 21:30










            • $begingroup$
              @Shaggy I was looking for a function to find every nth element, but I couldn't find it. Thanks!
              $endgroup$
              – Embodiment of Ignorance
              Apr 3 at 21:37










            • $begingroup$
              there's also A.ë() but I don't know if that'll lead to a shorter solution.
              $endgroup$
              – Shaggy
              Apr 3 at 21:45


















            2












            $begingroup$


            PowerShell, 49 bytes





            $args|sort l*|sort$_.Length*($global:x=-$x*2+1)


            Try it online!



            The double distillation.






            share|improve this answer











            $endgroup$




















              2












              $begingroup$

              T-SQL, 84 bytes



              Input is a table variable



              SELECT a FROM(SELECT*,row_number()over(order by len(a))r
              FROM @)x order by(r%2-.5)*r


              Try it online






              share|improve this answer











              $endgroup$




















                2












                $begingroup$


                Perl 6, 31 bytes





                *.sort(&chars).sort:$++%2*$--


                Try it online!



                Sort by string length, then by static sequence 0, -1, 0, -3, 0, -5, ...






                share|improve this answer











                $endgroup$




















                  1












                  $begingroup$

                  Javascript 95 Bytes



                  s=>s.sort((x,y)=>x.length-y.length).reduce((a,e,i)=>i%2?a.push(e):a.unshift(e);return a;,[]);





                  share|improve this answer










                  New contributor




                  somsom is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.






                  $endgroup$












                  • $begingroup$
                    -1 s.sort() sorts the strings lexicographically, not by string length.
                    $endgroup$
                    – asgallant
                    Apr 3 at 19:34










                  • $begingroup$
                    Right, (x,y)=>x.length-y.length, should fix that.
                    $endgroup$
                    – somsom
                    Apr 3 at 19:41


















                  1












                  $begingroup$


                  Red, 116 101 bytes



                  func[b][sort/compare b func[x y][(length? x)> length? y]collect[forall b[keep take b]keep reverse b]]


                  Try it online!






                  share|improve this answer











                  $endgroup$




















                    1












                    $begingroup$

                    perl 5 (-p0777F/n/ -M5.01), 59 bytes



                    for$x(sort$b=~y///c-length$a@F)--$}improve this answer



                    share 











                    1












                    $begingroup$

                    perl 5 (-p0777F/n/ -M5.01), 59 bytes



                    for$x(sort$b=~y///c-length$a@F)--$improve this answer











                    $endgroup$


















                      $endgroup$



                      perl 5 (-p0777F/n/ -M5.01), 59 bytes



                      for$x(sort$b=~y///c-length$a@F)--${


                      TIO







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited 2 days ago

























                      answered 2 days ago









                      Nahuel FouilleulNahuel Fouilleul

                      3,015211




                      3,015211





















                          1












                          $begingroup$


                          C (gcc), 136 bytes





                          S(a,b)char**a,**b;a=strlen(*b)-strlen(*a);f(l,s,o,t,i,b,e)char**s,**o,*t;qsort(s,l,8,S);e=l-1;for(i=b=0;i-l;++i)o[i%2?b++:e--]=s[i];


                          Try it online!



                          The function f is the solution. It takes the number of strings, the strings themselves, and the output buffer as arguments (plus four more used internally).






                          share|improve this answer











                          $endgroup$












                          • $begingroup$
                            Why is ./.bin.tio in the output?
                            $endgroup$
                            – Teleporting Goat
                            Apr 3 at 22:27










                          • $begingroup$
                            @TeleportingGoat Probably because their footer is using all of argv, which includes the filename
                            $endgroup$
                            – Jo King
                            Apr 4 at 1:46










                          • $begingroup$
                            Exactly, it was just a quick test. One can construct any data that takes appropriate format. I'll update the TIO link later.
                            $endgroup$
                            – LambdaBeta
                            2 days ago















                          1












                          $begingroup$


                          C (gcc), 136 bytes





                          S(a,b)char**a,**b;a=strlen(*b)-strlen(*a);f(l,s,o,t,i,b,e)char**s,**o,*t;qsort(s,l,8,S);e=l-1;for(i=b=0;i-l;++i)o[i%2?b++:e--]=s[i];


                          Try it online!



                          The function f is the solution. It takes the number of strings, the strings themselves, and the output buffer as arguments (plus four more used internally).






                          share|improve this answer











                          $endgroup$












                          • $begingroup$
                            Why is ./.bin.tio in the output?
                            $endgroup$
                            – Teleporting Goat
                            Apr 3 at 22:27










                          • $begingroup$
                            @TeleportingGoat Probably because their footer is using all of argv, which includes the filename
                            $endgroup$
                            – Jo King
                            Apr 4 at 1:46










                          • $begingroup$
                            Exactly, it was just a quick test. One can construct any data that takes appropriate format. I'll update the TIO link later.
                            $endgroup$
                            – LambdaBeta
                            2 days ago













                          1












                          1








                          1





                          $begingroup$


                          C (gcc), 136 bytes





                          S(a,b)char**a,**b;a=strlen(*b)-strlen(*a);f(l,s,o,t,i,b,e)char**s,**o,*t;qsort(s,l,8,S);e=l-1;for(i=b=0;i-l;++i)o[i%2?b++:e--]=s[i];


                          Try it online!



                          The function f is the solution. It takes the number of strings, the strings themselves, and the output buffer as arguments (plus four more used internally).






                          share|improve this answer











                          $endgroup$




                          C (gcc), 136 bytes





                          S(a,b)char**a,**b;a=strlen(*b)-strlen(*a);f(l,s,o,t,i,b,e)char**s,**o,*t;qsort(s,l,8,S);e=l-1;for(i=b=0;i-l;++i)o[i%2?b++:e--]=s[i];


                          Try it online!



                          The function f is the solution. It takes the number of strings, the strings themselves, and the output buffer as arguments (plus four more used internally).







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited 2 days ago

























                          answered Apr 3 at 22:19









                          LambdaBetaLambdaBeta

                          2,149418




                          2,149418











                          • $begingroup$
                            Why is ./.bin.tio in the output?
                            $endgroup$
                            – Teleporting Goat
                            Apr 3 at 22:27










                          • $begingroup$
                            @TeleportingGoat Probably because their footer is using all of argv, which includes the filename
                            $endgroup$
                            – Jo King
                            Apr 4 at 1:46










                          • $begingroup$
                            Exactly, it was just a quick test. One can construct any data that takes appropriate format. I'll update the TIO link later.
                            $endgroup$
                            – LambdaBeta
                            2 days ago
















                          • $begingroup$
                            Why is ./.bin.tio in the output?
                            $endgroup$
                            – Teleporting Goat
                            Apr 3 at 22:27










                          • $begingroup$
                            @TeleportingGoat Probably because their footer is using all of argv, which includes the filename
                            $endgroup$
                            – Jo King
                            Apr 4 at 1:46










                          • $begingroup$
                            Exactly, it was just a quick test. One can construct any data that takes appropriate format. I'll update the TIO link later.
                            $endgroup$
                            – LambdaBeta
                            2 days ago















                          $begingroup$
                          Why is ./.bin.tio in the output?
                          $endgroup$
                          – Teleporting Goat
                          Apr 3 at 22:27




                          $begingroup$
                          Why is ./.bin.tio in the output?
                          $endgroup$
                          – Teleporting Goat
                          Apr 3 at 22:27












                          $begingroup$
                          @TeleportingGoat Probably because their footer is using all of argv, which includes the filename
                          $endgroup$
                          – Jo King
                          Apr 4 at 1:46




                          $begingroup$
                          @TeleportingGoat Probably because their footer is using all of argv, which includes the filename
                          $endgroup$
                          – Jo King
                          Apr 4 at 1:46












                          $begingroup$
                          Exactly, it was just a quick test. One can construct any data that takes appropriate format. I'll update the TIO link later.
                          $endgroup$
                          – LambdaBeta
                          2 days ago




                          $begingroup$
                          Exactly, it was just a quick test. One can construct any data that takes appropriate format. I'll update the TIO link later.
                          $endgroup$
                          – LambdaBeta
                          2 days ago











                          1












                          $begingroup$


                          APL (Dyalog Unicode), 18 16 bytesSBCS





                          ⊢⌷⍨∘⊂∘⍋≢¨×¯1*⍳∘⍴


                          Try it online!



                          -2 bytes thanks to @dzaima



                          Explanation of this giant composition of function:
                          (all the do is compose these functions together)



                          ⊢⌷⍨∘⊂∘⍋≢¨×¯1*⍳∘⍴ ⍝ A giant train of functions. Argument is ⊢
                          ⍴ ⍝ The shape of the argument (number of strings)
                          ⍳ ⍝ Range 1..shape
                          ¯1* ⍝ Calculate -1 to the power of each element in the range
                          ⍝ gives ¯1 1 ¯1
                          × ⍝ Multiply each with...
                          ≢¨ ⍝ The length of the corresponding string
                          ⍋ ⍝ Grade: gets the indices for the sorted values
                          ⌷ ⍝ Access with these indices into
                          ⊢ ⍝ The argument
                          ⊂ ⍝ (enclosed, otherwise the access would be dimension-wise)



                          ¹






                          share|improve this answer











                          $endgroup$

















                            1












                            $begingroup$


                            APL (Dyalog Unicode), 18 16 bytesSBCS





                            ⊢⌷⍨∘⊂∘⍋≢¨×¯1*⍳∘⍴


                            Try it online!



                            -2 bytes thanks to @dzaima



                            Explanation of this giant composition of function:
                            (all the do is compose these functions together)



                            ⊢⌷⍨∘⊂∘⍋≢¨×¯1*⍳∘⍴ ⍝ A giant train of functions. Argument is ⊢
                            ⍴ ⍝ The shape of the argument (number of strings)
                            ⍳ ⍝ Range 1..shape
                            ¯1* ⍝ Calculate -1 to the power of each element in the range
                            ⍝ gives ¯1 1 ¯1
                            × ⍝ Multiply each with...
                            ≢¨ ⍝ The length of the corresponding string
                            ⍋ ⍝ Grade: gets the indices for the sorted values
                            ⌷ ⍝ Access with these indices into
                            ⊢ ⍝ The argument
                            ⊂ ⍝ (enclosed, otherwise the access would be dimension-wise)



                            ¹






                            share|improve this answer











                            $endgroup$















                              1












                              1








                              1





                              $begingroup$


                              APL (Dyalog Unicode), 18 16 bytesSBCS





                              ⊢⌷⍨∘⊂∘⍋≢¨×¯1*⍳∘⍴


                              Try it online!



                              -2 bytes thanks to @dzaima



                              Explanation of this giant composition of function:
                              (all the do is compose these functions together)



                              ⊢⌷⍨∘⊂∘⍋≢¨×¯1*⍳∘⍴ ⍝ A giant train of functions. Argument is ⊢
                              ⍴ ⍝ The shape of the argument (number of strings)
                              ⍳ ⍝ Range 1..shape
                              ¯1* ⍝ Calculate -1 to the power of each element in the range
                              ⍝ gives ¯1 1 ¯1
                              × ⍝ Multiply each with...
                              ≢¨ ⍝ The length of the corresponding string
                              ⍋ ⍝ Grade: gets the indices for the sorted values
                              ⌷ ⍝ Access with these indices into
                              ⊢ ⍝ The argument
                              ⊂ ⍝ (enclosed, otherwise the access would be dimension-wise)



                              ¹






                              share|improve this answer











                              $endgroup$




                              APL (Dyalog Unicode), 18 16 bytesSBCS





                              ⊢⌷⍨∘⊂∘⍋≢¨×¯1*⍳∘⍴


                              Try it online!



                              -2 bytes thanks to @dzaima



                              Explanation of this giant composition of function:
                              (all the do is compose these functions together)



                              ⊢⌷⍨∘⊂∘⍋≢¨×¯1*⍳∘⍴ ⍝ A giant train of functions. Argument is ⊢
                              ⍴ ⍝ The shape of the argument (number of strings)
                              ⍳ ⍝ Range 1..shape
                              ¯1* ⍝ Calculate -1 to the power of each element in the range
                              ⍝ gives ¯1 1 ¯1
                              × ⍝ Multiply each with...
                              ≢¨ ⍝ The length of the corresponding string
                              ⍋ ⍝ Grade: gets the indices for the sorted values
                              ⌷ ⍝ Access with these indices into
                              ⊢ ⍝ The argument
                              ⊂ ⍝ (enclosed, otherwise the access would be dimension-wise)



                              ¹







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited yesterday

























                              answered 2 days ago









                              VenVen

                              2,53511223




                              2,53511223





















                                  0












                                  $begingroup$


                                  Japt, 8 bytes



                                  Input as an array of lines, output as an array of 2 arrays of lines, one for each half of the list.



                                  ñÊó
                                  hUÎÔ


                                  Try it (Additional code to allow for I/O as newline separated string)



                                  ñÊó :Implicit input of array U
                                  ñ :Sort by
                                  Ê : Length
                                  ó :Uninterleave

                                  hUÎÔ :Newline reassigns to U
                                  h :Set the first element in U to
                                  UÎ : The first element in U
                                  Ô : Reversed





                                  share|improve this answer









                                  $endgroup$

















                                    0












                                    $begingroup$


                                    Japt, 8 bytes



                                    Input as an array of lines, output as an array of 2 arrays of lines, one for each half of the list.



                                    ñÊó
                                    hUÎÔ


                                    Try it (Additional code to allow for I/O as newline separated string)



                                    ñÊó :Implicit input of array U
                                    ñ :Sort by
                                    Ê : Length
                                    ó :Uninterleave

                                    hUÎÔ :Newline reassigns to U
                                    h :Set the first element in U to
                                    UÎ : The first element in U
                                    Ô : Reversed





                                    share|improve this answer









                                    $endgroup$















                                      0












                                      0








                                      0





                                      $begingroup$


                                      Japt, 8 bytes



                                      Input as an array of lines, output as an array of 2 arrays of lines, one for each half of the list.



                                      ñÊó
                                      hUÎÔ


                                      Try it (Additional code to allow for I/O as newline separated string)



                                      ñÊó :Implicit input of array U
                                      ñ :Sort by
                                      Ê : Length
                                      ó :Uninterleave

                                      hUÎÔ :Newline reassigns to U
                                      h :Set the first element in U to
                                      UÎ : The first element in U
                                      Ô : Reversed





                                      share|improve this answer









                                      $endgroup$




                                      Japt, 8 bytes



                                      Input as an array of lines, output as an array of 2 arrays of lines, one for each half of the list.



                                      ñÊó
                                      hUÎÔ


                                      Try it (Additional code to allow for I/O as newline separated string)



                                      ñÊó :Implicit input of array U
                                      ñ :Sort by
                                      Ê : Length
                                      ó :Uninterleave

                                      hUÎÔ :Newline reassigns to U
                                      h :Set the first element in U to
                                      UÎ : The first element in U
                                      Ô : Reversed






                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered 2 days ago









                                      ShaggyShaggy

                                      18.8k21768




                                      18.8k21768




















                                          Teleporting Goat is a new contributor. Be nice, and check out our Code of Conduct.









                                          draft saved

                                          draft discarded


















                                          Teleporting Goat is a new contributor. Be nice, and check out our Code of Conduct.












                                          Teleporting Goat is a new contributor. Be nice, and check out our Code of Conduct.











                                          Teleporting Goat is a new contributor. Be nice, and check out our Code of Conduct.














                                          If this is an answer to a challenge…



                                          • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


                                          • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
                                            Explanations of your answer make it more interesting to read and are very much encouraged.


                                          • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.


                                          More generally…



                                          • …Please make sure to answer the question and provide sufficient detail.


                                          • …Avoid asking for help, clarification or responding to other answers (use comments instead).




                                          draft saved


                                          draft discarded














                                          StackExchange.ready(
                                          function ()
                                          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f182615%2farrow-those-variables%23new-answer', 'question_page');

                                          );

                                          Post as a guest















                                          Required, but never shown





















































                                          Required, but never shown














                                          Required, but never shown












                                          Required, but never shown







                                          Required, but never shown

































                                          Required, but never shown














                                          Required, but never shown












                                          Required, but never shown







                                          Required, but never shown







                                          Popular posts from this blog

                                          Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

                                          Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

                                          Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020