Deal the cards to the players












4












$begingroup$


Tonight is card game night! You are the dealer and your task is to write a program to deal the cards to the players.



Given an array of card and a number of player, you need to split the array into hand for each player.



example for 4 players with a deck of 10 cards



Rules



Your program will receive an non-empty array A , as well as a non-zero positive integer n. The array should then be split into n hands, if the length of the string isn't divisible by n any leftover at the end should be distributed as evenly as possible.




  • If n is equals to 1, you will need to return an array of array A

  • If n is greater than the length of A, you will need to return every hands and an empty hand. if n = 4 and array A = [1,2,3], you should return [[1],[2],[3]] or [[1],[2],[3],]. You are free to handle the empty hand with empty, undefined or null.


  • The array can contain any type rather than a number.


  • You should not change order (or direction) of any item from left to right. For example if n = 2 and A= [1,2,3]. Any result rather than [[1,3],[2]] will be invalid.



Test Cases



n   A               Output

1 [1,2,3,4,5,6] [[1,2,3,4,5,6]]
2 [1,2,3,4,5,6] [[1,3,5],[2,4,6]]
3 [1,2,3,4,5,6] [[1,4],[2,5],[3,6]]
4 [1,2,3,4,5,6] [[1,5],[2,6],[3],[4]]
7 [1,2,3,4,5,6] [[1],[2],[3],[4],[5],[6]] // or [[1],[2],[3],[4],[5],[6],]


Demo





def deal(cards, n):
i = 0
players = [ for _ in range(n)]
for card in cards:
players[i % n].append(card)
i += 1
return players

hands = deal([1,2,3,4,5,6], 2)

print(hands)


Try it online!



This is code-golf, so you the shortest bytes of each language will be the winner.



Inspired from Create chunks from array by chau giang










share|improve this question











$endgroup$








  • 1




    $begingroup$
    All the test cases seem to split A into n chunks rather than into chunks of size n.
    $endgroup$
    – Adám
    1 hour ago






  • 1




    $begingroup$
    Are the cards guaranteed to be positive integers?
    $endgroup$
    – Giuseppe
    1 hour ago






  • 1




    $begingroup$
    should be give to a player as much as possible means should be distributed as evenly as possible, right? If so, please edit to actually say so.
    $endgroup$
    – Adám
    1 hour ago






  • 1




    $begingroup$
    @aloisdg Great, but now your first bulleted rule is unnecessary and wrong.
    $endgroup$
    – Adám
    1 hour ago






  • 3




    $begingroup$
    In the future I'd recommend using the Sandbox to iron out problems and gauge community feedback before posting your question to main
    $endgroup$
    – Jo King
    1 hour ago
















4












$begingroup$


Tonight is card game night! You are the dealer and your task is to write a program to deal the cards to the players.



Given an array of card and a number of player, you need to split the array into hand for each player.



example for 4 players with a deck of 10 cards



Rules



Your program will receive an non-empty array A , as well as a non-zero positive integer n. The array should then be split into n hands, if the length of the string isn't divisible by n any leftover at the end should be distributed as evenly as possible.




  • If n is equals to 1, you will need to return an array of array A

  • If n is greater than the length of A, you will need to return every hands and an empty hand. if n = 4 and array A = [1,2,3], you should return [[1],[2],[3]] or [[1],[2],[3],]. You are free to handle the empty hand with empty, undefined or null.


  • The array can contain any type rather than a number.


  • You should not change order (or direction) of any item from left to right. For example if n = 2 and A= [1,2,3]. Any result rather than [[1,3],[2]] will be invalid.



Test Cases



n   A               Output

1 [1,2,3,4,5,6] [[1,2,3,4,5,6]]
2 [1,2,3,4,5,6] [[1,3,5],[2,4,6]]
3 [1,2,3,4,5,6] [[1,4],[2,5],[3,6]]
4 [1,2,3,4,5,6] [[1,5],[2,6],[3],[4]]
7 [1,2,3,4,5,6] [[1],[2],[3],[4],[5],[6]] // or [[1],[2],[3],[4],[5],[6],]


Demo





def deal(cards, n):
i = 0
players = [ for _ in range(n)]
for card in cards:
players[i % n].append(card)
i += 1
return players

hands = deal([1,2,3,4,5,6], 2)

print(hands)


Try it online!



This is code-golf, so you the shortest bytes of each language will be the winner.



Inspired from Create chunks from array by chau giang










share|improve this question











$endgroup$








  • 1




    $begingroup$
    All the test cases seem to split A into n chunks rather than into chunks of size n.
    $endgroup$
    – Adám
    1 hour ago






  • 1




    $begingroup$
    Are the cards guaranteed to be positive integers?
    $endgroup$
    – Giuseppe
    1 hour ago






  • 1




    $begingroup$
    should be give to a player as much as possible means should be distributed as evenly as possible, right? If so, please edit to actually say so.
    $endgroup$
    – Adám
    1 hour ago






  • 1




    $begingroup$
    @aloisdg Great, but now your first bulleted rule is unnecessary and wrong.
    $endgroup$
    – Adám
    1 hour ago






  • 3




    $begingroup$
    In the future I'd recommend using the Sandbox to iron out problems and gauge community feedback before posting your question to main
    $endgroup$
    – Jo King
    1 hour ago














4












4








4





$begingroup$


Tonight is card game night! You are the dealer and your task is to write a program to deal the cards to the players.



Given an array of card and a number of player, you need to split the array into hand for each player.



example for 4 players with a deck of 10 cards



Rules



Your program will receive an non-empty array A , as well as a non-zero positive integer n. The array should then be split into n hands, if the length of the string isn't divisible by n any leftover at the end should be distributed as evenly as possible.




  • If n is equals to 1, you will need to return an array of array A

  • If n is greater than the length of A, you will need to return every hands and an empty hand. if n = 4 and array A = [1,2,3], you should return [[1],[2],[3]] or [[1],[2],[3],]. You are free to handle the empty hand with empty, undefined or null.


  • The array can contain any type rather than a number.


  • You should not change order (or direction) of any item from left to right. For example if n = 2 and A= [1,2,3]. Any result rather than [[1,3],[2]] will be invalid.



Test Cases



n   A               Output

1 [1,2,3,4,5,6] [[1,2,3,4,5,6]]
2 [1,2,3,4,5,6] [[1,3,5],[2,4,6]]
3 [1,2,3,4,5,6] [[1,4],[2,5],[3,6]]
4 [1,2,3,4,5,6] [[1,5],[2,6],[3],[4]]
7 [1,2,3,4,5,6] [[1],[2],[3],[4],[5],[6]] // or [[1],[2],[3],[4],[5],[6],]


Demo





def deal(cards, n):
i = 0
players = [ for _ in range(n)]
for card in cards:
players[i % n].append(card)
i += 1
return players

hands = deal([1,2,3,4,5,6], 2)

print(hands)


Try it online!



This is code-golf, so you the shortest bytes of each language will be the winner.



Inspired from Create chunks from array by chau giang










share|improve this question











$endgroup$




Tonight is card game night! You are the dealer and your task is to write a program to deal the cards to the players.



Given an array of card and a number of player, you need to split the array into hand for each player.



example for 4 players with a deck of 10 cards



Rules



Your program will receive an non-empty array A , as well as a non-zero positive integer n. The array should then be split into n hands, if the length of the string isn't divisible by n any leftover at the end should be distributed as evenly as possible.




  • If n is equals to 1, you will need to return an array of array A

  • If n is greater than the length of A, you will need to return every hands and an empty hand. if n = 4 and array A = [1,2,3], you should return [[1],[2],[3]] or [[1],[2],[3],]. You are free to handle the empty hand with empty, undefined or null.


  • The array can contain any type rather than a number.


  • You should not change order (or direction) of any item from left to right. For example if n = 2 and A= [1,2,3]. Any result rather than [[1,3],[2]] will be invalid.



Test Cases



n   A               Output

1 [1,2,3,4,5,6] [[1,2,3,4,5,6]]
2 [1,2,3,4,5,6] [[1,3,5],[2,4,6]]
3 [1,2,3,4,5,6] [[1,4],[2,5],[3,6]]
4 [1,2,3,4,5,6] [[1,5],[2,6],[3],[4]]
7 [1,2,3,4,5,6] [[1],[2],[3],[4],[5],[6]] // or [[1],[2],[3],[4],[5],[6],]


Demo





def deal(cards, n):
i = 0
players = [ for _ in range(n)]
for card in cards:
players[i % n].append(card)
i += 1
return players

hands = deal([1,2,3,4,5,6], 2)

print(hands)


Try it online!



This is code-golf, so you the shortest bytes of each language will be the winner.



Inspired from Create chunks from array by chau giang







code-golf array-manipulation






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 56 mins ago







aloisdg

















asked 2 hours ago









aloisdgaloisdg

1,4941122




1,4941122








  • 1




    $begingroup$
    All the test cases seem to split A into n chunks rather than into chunks of size n.
    $endgroup$
    – Adám
    1 hour ago






  • 1




    $begingroup$
    Are the cards guaranteed to be positive integers?
    $endgroup$
    – Giuseppe
    1 hour ago






  • 1




    $begingroup$
    should be give to a player as much as possible means should be distributed as evenly as possible, right? If so, please edit to actually say so.
    $endgroup$
    – Adám
    1 hour ago






  • 1




    $begingroup$
    @aloisdg Great, but now your first bulleted rule is unnecessary and wrong.
    $endgroup$
    – Adám
    1 hour ago






  • 3




    $begingroup$
    In the future I'd recommend using the Sandbox to iron out problems and gauge community feedback before posting your question to main
    $endgroup$
    – Jo King
    1 hour ago














  • 1




    $begingroup$
    All the test cases seem to split A into n chunks rather than into chunks of size n.
    $endgroup$
    – Adám
    1 hour ago






  • 1




    $begingroup$
    Are the cards guaranteed to be positive integers?
    $endgroup$
    – Giuseppe
    1 hour ago






  • 1




    $begingroup$
    should be give to a player as much as possible means should be distributed as evenly as possible, right? If so, please edit to actually say so.
    $endgroup$
    – Adám
    1 hour ago






  • 1




    $begingroup$
    @aloisdg Great, but now your first bulleted rule is unnecessary and wrong.
    $endgroup$
    – Adám
    1 hour ago






  • 3




    $begingroup$
    In the future I'd recommend using the Sandbox to iron out problems and gauge community feedback before posting your question to main
    $endgroup$
    – Jo King
    1 hour ago








1




1




$begingroup$
All the test cases seem to split A into n chunks rather than into chunks of size n.
$endgroup$
– Adám
1 hour ago




$begingroup$
All the test cases seem to split A into n chunks rather than into chunks of size n.
$endgroup$
– Adám
1 hour ago




1




1




$begingroup$
Are the cards guaranteed to be positive integers?
$endgroup$
– Giuseppe
1 hour ago




$begingroup$
Are the cards guaranteed to be positive integers?
$endgroup$
– Giuseppe
1 hour ago




1




1




$begingroup$
should be give to a player as much as possible means should be distributed as evenly as possible, right? If so, please edit to actually say so.
$endgroup$
– Adám
1 hour ago




$begingroup$
should be give to a player as much as possible means should be distributed as evenly as possible, right? If so, please edit to actually say so.
$endgroup$
– Adám
1 hour ago




1




1




$begingroup$
@aloisdg Great, but now your first bulleted rule is unnecessary and wrong.
$endgroup$
– Adám
1 hour ago




$begingroup$
@aloisdg Great, but now your first bulleted rule is unnecessary and wrong.
$endgroup$
– Adám
1 hour ago




3




3




$begingroup$
In the future I'd recommend using the Sandbox to iron out problems and gauge community feedback before posting your question to main
$endgroup$
– Jo King
1 hour ago




$begingroup$
In the future I'd recommend using the Sandbox to iron out problems and gauge community feedback before posting your question to main
$endgroup$
– Jo King
1 hour ago










10 Answers
10






active

oldest

votes


















2












$begingroup$

Japt, 2 bytes



Takes the array as the first input.



óV


Try it






share|improve this answer









$endgroup$





















    2












    $begingroup$


    R, 46 25 bytes





    function(A,n)split(A,1:n)


    Try it online!



    splits A into groups defined by 1:n, recycling 1:n until it matches length with A.






    share|improve this answer











    $endgroup$





















      2












      $begingroup$


      Python 2, 37 bytes





      Code:



      lambda x,n:[x[i::n]for i in range(n)]


      Try it online!






      share|improve this answer









      $endgroup$





















        2












        $begingroup$


        Perl 6, 33 24 bytes





        ->b{*.classify:{$++%b}}


        Try it online!



        Anonymous curried code block that takes a number and returns a Whatever lambda that takes a list and returns a list of lists. This takes the second option when given a number larger than the length of lists, e.g. f(4)([1,2,3]) returns [[1],[2],[3]]



        Explanation:



        ->b{                  }  # Anonymous code block that takes a number
        * # And returns a Whatever lambda
        .classify # That groups by
        :{$++%b} # The index modulo the number





        share|improve this answer











        $endgroup$





















          1












          $begingroup$


          Charcoal, 9 bytes



          IEθ✂ηιLηθ


          Try it online! Link is to verbose version of code. Takes input in the order [n, A] and outputs each value on its own line and each hand double-spaced from the previous. Explanation:



            θ         First input `n`
          E Map over implicit range
          η Second input `A`
          ✂ Sliced
          ι Starting at current index
          Lη Ending at length of `A`
          θ Taking every `n`th element
          I Cast to string
          Implicitly print





          share|improve this answer









          $endgroup$





















            1












            $begingroup$


            Wolfram Language (Mathematica), 28 bytes



            (s=#;GatherBy[#2,#~Mod~s&])&


            Try it online!






            share|improve this answer









            $endgroup$





















              1












              $begingroup$


              Haskell, 39 bytes





              import Data.Lists
              (transpose.).chunksOf


              Note: Data.Lists is from the third-party library lists, which is not on Stackage and hence will not appear on Hoogle.






              share|improve this answer











              $endgroup$













              • $begingroup$
                Data.Lists doesn't seem to exist. I would assume that you meant Data.List, but it doesn't contain chunksOf.
                $endgroup$
                – Joseph Sible
                24 mins ago










              • $begingroup$
                chunksOf only seems to appear with the signature Int -> Text -> [Text].1
                $endgroup$
                – Sriotchilism O'Zaic
                16 mins ago












              • $begingroup$
                @JosephSible, it's in the lists package.
                $endgroup$
                – dfeuer
                16 mins ago












              • $begingroup$
                @SriotchilismO'Zaic, lots of things don't show up in Hoogle. It's in the split package and re-exported by the lists package. There are versions of chunksOf for lists, text, sequences, and probably other things.
                $endgroup$
                – dfeuer
                14 mins ago





















              0












              $begingroup$


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





              a=>b=>{int i=0;return a.GroupBy(_=>i++%b);}


              Try it online!






              share|improve this answer









              $endgroup$













              • $begingroup$
                @JoKing [1,2,3], 4 should output [[1],[2],[3]]. You are dealing 3 cards to 4 players. I will update the main question.
                $endgroup$
                – aloisdg
                1 hour ago












              • $begingroup$
                It's generally discouraged to post solutions to your own challenges immediately.
                $endgroup$
                – Shaggy
                1 hour ago






              • 1




                $begingroup$
                @Shaggy ok I will take it into account for the next time. It is fine on so and rpg but I guess the competitive aspect of codegolf made it a bit unfair to self post directly. Make sense.
                $endgroup$
                – aloisdg
                1 hour ago










              • $begingroup$
                @Joe king you are right! I made a typo :/
                $endgroup$
                – aloisdg
                1 hour ago



















              0












              $begingroup$


              J, 13 bytes



              [</.~#@[$i.@]


              Try it online!






              share|improve this answer









              $endgroup$





















                0












                $begingroup$


                Jelly, 6 bytes



                sz0ḟ€0


                Try it online!





                share









                $endgroup$













                  Your Answer





                  StackExchange.ifUsing("editor", function () {
                  return StackExchange.using("mathjaxEditing", function () {
                  StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
                  StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
                  });
                  });
                  }, "mathjax-editing");

                  StackExchange.ifUsing("editor", function () {
                  StackExchange.using("externalEditor", function () {
                  StackExchange.using("snippets", function () {
                  StackExchange.snippets.init();
                  });
                  });
                  }, "code-snippets");

                  StackExchange.ready(function() {
                  var channelOptions = {
                  tags: "".split(" "),
                  id: "200"
                  };
                  initTagRenderer("".split(" "), "".split(" "), channelOptions);

                  StackExchange.using("externalEditor", function() {
                  // Have to fire editor after snippets, if snippets enabled
                  if (StackExchange.settings.snippets.snippetsEnabled) {
                  StackExchange.using("snippets", function() {
                  createEditor();
                  });
                  }
                  else {
                  createEditor();
                  }
                  });

                  function createEditor() {
                  StackExchange.prepareEditor({
                  heartbeatType: 'answer',
                  autoActivateHeartbeat: false,
                  convertImagesToLinks: false,
                  noModals: true,
                  showLowRepImageUploadWarning: true,
                  reputationToPostImages: null,
                  bindNavPrevention: true,
                  postfix: "",
                  imageUploader: {
                  brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                  contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                  allowUrls: true
                  },
                  onDemand: true,
                  discardSelector: ".discard-answer"
                  ,immediatelyShowMarkdownHelp:true
                  });


                  }
                  });














                  draft saved

                  draft discarded


















                  StackExchange.ready(
                  function () {
                  StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f181029%2fdeal-the-cards-to-the-players%23new-answer', 'question_page');
                  }
                  );

                  Post as a guest















                  Required, but never shown

























                  10 Answers
                  10






                  active

                  oldest

                  votes








                  10 Answers
                  10






                  active

                  oldest

                  votes









                  active

                  oldest

                  votes






                  active

                  oldest

                  votes









                  2












                  $begingroup$

                  Japt, 2 bytes



                  Takes the array as the first input.



                  óV


                  Try it






                  share|improve this answer









                  $endgroup$


















                    2












                    $begingroup$

                    Japt, 2 bytes



                    Takes the array as the first input.



                    óV


                    Try it






                    share|improve this answer









                    $endgroup$
















                      2












                      2








                      2





                      $begingroup$

                      Japt, 2 bytes



                      Takes the array as the first input.



                      óV


                      Try it






                      share|improve this answer









                      $endgroup$



                      Japt, 2 bytes



                      Takes the array as the first input.



                      óV


                      Try it







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered 1 hour ago









                      ShaggyShaggy

                      19.4k21667




                      19.4k21667























                          2












                          $begingroup$


                          R, 46 25 bytes





                          function(A,n)split(A,1:n)


                          Try it online!



                          splits A into groups defined by 1:n, recycling 1:n until it matches length with A.






                          share|improve this answer











                          $endgroup$


















                            2












                            $begingroup$


                            R, 46 25 bytes





                            function(A,n)split(A,1:n)


                            Try it online!



                            splits A into groups defined by 1:n, recycling 1:n until it matches length with A.






                            share|improve this answer











                            $endgroup$
















                              2












                              2








                              2





                              $begingroup$


                              R, 46 25 bytes





                              function(A,n)split(A,1:n)


                              Try it online!



                              splits A into groups defined by 1:n, recycling 1:n until it matches length with A.






                              share|improve this answer











                              $endgroup$




                              R, 46 25 bytes





                              function(A,n)split(A,1:n)


                              Try it online!



                              splits A into groups defined by 1:n, recycling 1:n until it matches length with A.







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited 1 hour ago

























                              answered 1 hour ago









                              GiuseppeGiuseppe

                              16.6k31052




                              16.6k31052























                                  2












                                  $begingroup$


                                  Python 2, 37 bytes





                                  Code:



                                  lambda x,n:[x[i::n]for i in range(n)]


                                  Try it online!






                                  share|improve this answer









                                  $endgroup$


















                                    2












                                    $begingroup$


                                    Python 2, 37 bytes





                                    Code:



                                    lambda x,n:[x[i::n]for i in range(n)]


                                    Try it online!






                                    share|improve this answer









                                    $endgroup$
















                                      2












                                      2








                                      2





                                      $begingroup$


                                      Python 2, 37 bytes





                                      Code:



                                      lambda x,n:[x[i::n]for i in range(n)]


                                      Try it online!






                                      share|improve this answer









                                      $endgroup$




                                      Python 2, 37 bytes





                                      Code:



                                      lambda x,n:[x[i::n]for i in range(n)]


                                      Try it online!







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered 1 hour ago









                                      AdnanAdnan

                                      35.7k562225




                                      35.7k562225























                                          2












                                          $begingroup$


                                          Perl 6, 33 24 bytes





                                          ->b{*.classify:{$++%b}}


                                          Try it online!



                                          Anonymous curried code block that takes a number and returns a Whatever lambda that takes a list and returns a list of lists. This takes the second option when given a number larger than the length of lists, e.g. f(4)([1,2,3]) returns [[1],[2],[3]]



                                          Explanation:



                                          ->b{                  }  # Anonymous code block that takes a number
                                          * # And returns a Whatever lambda
                                          .classify # That groups by
                                          :{$++%b} # The index modulo the number





                                          share|improve this answer











                                          $endgroup$


















                                            2












                                            $begingroup$


                                            Perl 6, 33 24 bytes





                                            ->b{*.classify:{$++%b}}


                                            Try it online!



                                            Anonymous curried code block that takes a number and returns a Whatever lambda that takes a list and returns a list of lists. This takes the second option when given a number larger than the length of lists, e.g. f(4)([1,2,3]) returns [[1],[2],[3]]



                                            Explanation:



                                            ->b{                  }  # Anonymous code block that takes a number
                                            * # And returns a Whatever lambda
                                            .classify # That groups by
                                            :{$++%b} # The index modulo the number





                                            share|improve this answer











                                            $endgroup$
















                                              2












                                              2








                                              2





                                              $begingroup$


                                              Perl 6, 33 24 bytes





                                              ->b{*.classify:{$++%b}}


                                              Try it online!



                                              Anonymous curried code block that takes a number and returns a Whatever lambda that takes a list and returns a list of lists. This takes the second option when given a number larger than the length of lists, e.g. f(4)([1,2,3]) returns [[1],[2],[3]]



                                              Explanation:



                                              ->b{                  }  # Anonymous code block that takes a number
                                              * # And returns a Whatever lambda
                                              .classify # That groups by
                                              :{$++%b} # The index modulo the number





                                              share|improve this answer











                                              $endgroup$




                                              Perl 6, 33 24 bytes





                                              ->b{*.classify:{$++%b}}


                                              Try it online!



                                              Anonymous curried code block that takes a number and returns a Whatever lambda that takes a list and returns a list of lists. This takes the second option when given a number larger than the length of lists, e.g. f(4)([1,2,3]) returns [[1],[2],[3]]



                                              Explanation:



                                              ->b{                  }  # Anonymous code block that takes a number
                                              * # And returns a Whatever lambda
                                              .classify # That groups by
                                              :{$++%b} # The index modulo the number






                                              share|improve this answer














                                              share|improve this answer



                                              share|improve this answer








                                              edited 1 hour ago

























                                              answered 1 hour ago









                                              Jo KingJo King

                                              24.3k357126




                                              24.3k357126























                                                  1












                                                  $begingroup$


                                                  Charcoal, 9 bytes



                                                  IEθ✂ηιLηθ


                                                  Try it online! Link is to verbose version of code. Takes input in the order [n, A] and outputs each value on its own line and each hand double-spaced from the previous. Explanation:



                                                    θ         First input `n`
                                                  E Map over implicit range
                                                  η Second input `A`
                                                  ✂ Sliced
                                                  ι Starting at current index
                                                  Lη Ending at length of `A`
                                                  θ Taking every `n`th element
                                                  I Cast to string
                                                  Implicitly print





                                                  share|improve this answer









                                                  $endgroup$


















                                                    1












                                                    $begingroup$


                                                    Charcoal, 9 bytes



                                                    IEθ✂ηιLηθ


                                                    Try it online! Link is to verbose version of code. Takes input in the order [n, A] and outputs each value on its own line and each hand double-spaced from the previous. Explanation:



                                                      θ         First input `n`
                                                    E Map over implicit range
                                                    η Second input `A`
                                                    ✂ Sliced
                                                    ι Starting at current index
                                                    Lη Ending at length of `A`
                                                    θ Taking every `n`th element
                                                    I Cast to string
                                                    Implicitly print





                                                    share|improve this answer









                                                    $endgroup$
















                                                      1












                                                      1








                                                      1





                                                      $begingroup$


                                                      Charcoal, 9 bytes



                                                      IEθ✂ηιLηθ


                                                      Try it online! Link is to verbose version of code. Takes input in the order [n, A] and outputs each value on its own line and each hand double-spaced from the previous. Explanation:



                                                        θ         First input `n`
                                                      E Map over implicit range
                                                      η Second input `A`
                                                      ✂ Sliced
                                                      ι Starting at current index
                                                      Lη Ending at length of `A`
                                                      θ Taking every `n`th element
                                                      I Cast to string
                                                      Implicitly print





                                                      share|improve this answer









                                                      $endgroup$




                                                      Charcoal, 9 bytes



                                                      IEθ✂ηιLηθ


                                                      Try it online! Link is to verbose version of code. Takes input in the order [n, A] and outputs each value on its own line and each hand double-spaced from the previous. Explanation:



                                                        θ         First input `n`
                                                      E Map over implicit range
                                                      η Second input `A`
                                                      ✂ Sliced
                                                      ι Starting at current index
                                                      Lη Ending at length of `A`
                                                      θ Taking every `n`th element
                                                      I Cast to string
                                                      Implicitly print






                                                      share|improve this answer












                                                      share|improve this answer



                                                      share|improve this answer










                                                      answered 50 mins ago









                                                      NeilNeil

                                                      81.4k745178




                                                      81.4k745178























                                                          1












                                                          $begingroup$


                                                          Wolfram Language (Mathematica), 28 bytes



                                                          (s=#;GatherBy[#2,#~Mod~s&])&


                                                          Try it online!






                                                          share|improve this answer









                                                          $endgroup$


















                                                            1












                                                            $begingroup$


                                                            Wolfram Language (Mathematica), 28 bytes



                                                            (s=#;GatherBy[#2,#~Mod~s&])&


                                                            Try it online!






                                                            share|improve this answer









                                                            $endgroup$
















                                                              1












                                                              1








                                                              1





                                                              $begingroup$


                                                              Wolfram Language (Mathematica), 28 bytes



                                                              (s=#;GatherBy[#2,#~Mod~s&])&


                                                              Try it online!






                                                              share|improve this answer









                                                              $endgroup$




                                                              Wolfram Language (Mathematica), 28 bytes



                                                              (s=#;GatherBy[#2,#~Mod~s&])&


                                                              Try it online!







                                                              share|improve this answer












                                                              share|improve this answer



                                                              share|improve this answer










                                                              answered 42 mins ago









                                                              J42161217J42161217

                                                              13.2k21150




                                                              13.2k21150























                                                                  1












                                                                  $begingroup$


                                                                  Haskell, 39 bytes





                                                                  import Data.Lists
                                                                  (transpose.).chunksOf


                                                                  Note: Data.Lists is from the third-party library lists, which is not on Stackage and hence will not appear on Hoogle.






                                                                  share|improve this answer











                                                                  $endgroup$













                                                                  • $begingroup$
                                                                    Data.Lists doesn't seem to exist. I would assume that you meant Data.List, but it doesn't contain chunksOf.
                                                                    $endgroup$
                                                                    – Joseph Sible
                                                                    24 mins ago










                                                                  • $begingroup$
                                                                    chunksOf only seems to appear with the signature Int -> Text -> [Text].1
                                                                    $endgroup$
                                                                    – Sriotchilism O'Zaic
                                                                    16 mins ago












                                                                  • $begingroup$
                                                                    @JosephSible, it's in the lists package.
                                                                    $endgroup$
                                                                    – dfeuer
                                                                    16 mins ago












                                                                  • $begingroup$
                                                                    @SriotchilismO'Zaic, lots of things don't show up in Hoogle. It's in the split package and re-exported by the lists package. There are versions of chunksOf for lists, text, sequences, and probably other things.
                                                                    $endgroup$
                                                                    – dfeuer
                                                                    14 mins ago


















                                                                  1












                                                                  $begingroup$


                                                                  Haskell, 39 bytes





                                                                  import Data.Lists
                                                                  (transpose.).chunksOf


                                                                  Note: Data.Lists is from the third-party library lists, which is not on Stackage and hence will not appear on Hoogle.






                                                                  share|improve this answer











                                                                  $endgroup$













                                                                  • $begingroup$
                                                                    Data.Lists doesn't seem to exist. I would assume that you meant Data.List, but it doesn't contain chunksOf.
                                                                    $endgroup$
                                                                    – Joseph Sible
                                                                    24 mins ago










                                                                  • $begingroup$
                                                                    chunksOf only seems to appear with the signature Int -> Text -> [Text].1
                                                                    $endgroup$
                                                                    – Sriotchilism O'Zaic
                                                                    16 mins ago












                                                                  • $begingroup$
                                                                    @JosephSible, it's in the lists package.
                                                                    $endgroup$
                                                                    – dfeuer
                                                                    16 mins ago












                                                                  • $begingroup$
                                                                    @SriotchilismO'Zaic, lots of things don't show up in Hoogle. It's in the split package and re-exported by the lists package. There are versions of chunksOf for lists, text, sequences, and probably other things.
                                                                    $endgroup$
                                                                    – dfeuer
                                                                    14 mins ago
















                                                                  1












                                                                  1








                                                                  1





                                                                  $begingroup$


                                                                  Haskell, 39 bytes





                                                                  import Data.Lists
                                                                  (transpose.).chunksOf


                                                                  Note: Data.Lists is from the third-party library lists, which is not on Stackage and hence will not appear on Hoogle.






                                                                  share|improve this answer











                                                                  $endgroup$




                                                                  Haskell, 39 bytes





                                                                  import Data.Lists
                                                                  (transpose.).chunksOf


                                                                  Note: Data.Lists is from the third-party library lists, which is not on Stackage and hence will not appear on Hoogle.







                                                                  share|improve this answer














                                                                  share|improve this answer



                                                                  share|improve this answer








                                                                  edited 10 mins ago









                                                                  Joseph Sible

                                                                  2075




                                                                  2075










                                                                  answered 44 mins ago









                                                                  dfeuerdfeuer

                                                                  35128




                                                                  35128












                                                                  • $begingroup$
                                                                    Data.Lists doesn't seem to exist. I would assume that you meant Data.List, but it doesn't contain chunksOf.
                                                                    $endgroup$
                                                                    – Joseph Sible
                                                                    24 mins ago










                                                                  • $begingroup$
                                                                    chunksOf only seems to appear with the signature Int -> Text -> [Text].1
                                                                    $endgroup$
                                                                    – Sriotchilism O'Zaic
                                                                    16 mins ago












                                                                  • $begingroup$
                                                                    @JosephSible, it's in the lists package.
                                                                    $endgroup$
                                                                    – dfeuer
                                                                    16 mins ago












                                                                  • $begingroup$
                                                                    @SriotchilismO'Zaic, lots of things don't show up in Hoogle. It's in the split package and re-exported by the lists package. There are versions of chunksOf for lists, text, sequences, and probably other things.
                                                                    $endgroup$
                                                                    – dfeuer
                                                                    14 mins ago




















                                                                  • $begingroup$
                                                                    Data.Lists doesn't seem to exist. I would assume that you meant Data.List, but it doesn't contain chunksOf.
                                                                    $endgroup$
                                                                    – Joseph Sible
                                                                    24 mins ago










                                                                  • $begingroup$
                                                                    chunksOf only seems to appear with the signature Int -> Text -> [Text].1
                                                                    $endgroup$
                                                                    – Sriotchilism O'Zaic
                                                                    16 mins ago












                                                                  • $begingroup$
                                                                    @JosephSible, it's in the lists package.
                                                                    $endgroup$
                                                                    – dfeuer
                                                                    16 mins ago












                                                                  • $begingroup$
                                                                    @SriotchilismO'Zaic, lots of things don't show up in Hoogle. It's in the split package and re-exported by the lists package. There are versions of chunksOf for lists, text, sequences, and probably other things.
                                                                    $endgroup$
                                                                    – dfeuer
                                                                    14 mins ago


















                                                                  $begingroup$
                                                                  Data.Lists doesn't seem to exist. I would assume that you meant Data.List, but it doesn't contain chunksOf.
                                                                  $endgroup$
                                                                  – Joseph Sible
                                                                  24 mins ago




                                                                  $begingroup$
                                                                  Data.Lists doesn't seem to exist. I would assume that you meant Data.List, but it doesn't contain chunksOf.
                                                                  $endgroup$
                                                                  – Joseph Sible
                                                                  24 mins ago












                                                                  $begingroup$
                                                                  chunksOf only seems to appear with the signature Int -> Text -> [Text].1
                                                                  $endgroup$
                                                                  – Sriotchilism O'Zaic
                                                                  16 mins ago






                                                                  $begingroup$
                                                                  chunksOf only seems to appear with the signature Int -> Text -> [Text].1
                                                                  $endgroup$
                                                                  – Sriotchilism O'Zaic
                                                                  16 mins ago














                                                                  $begingroup$
                                                                  @JosephSible, it's in the lists package.
                                                                  $endgroup$
                                                                  – dfeuer
                                                                  16 mins ago






                                                                  $begingroup$
                                                                  @JosephSible, it's in the lists package.
                                                                  $endgroup$
                                                                  – dfeuer
                                                                  16 mins ago














                                                                  $begingroup$
                                                                  @SriotchilismO'Zaic, lots of things don't show up in Hoogle. It's in the split package and re-exported by the lists package. There are versions of chunksOf for lists, text, sequences, and probably other things.
                                                                  $endgroup$
                                                                  – dfeuer
                                                                  14 mins ago






                                                                  $begingroup$
                                                                  @SriotchilismO'Zaic, lots of things don't show up in Hoogle. It's in the split package and re-exported by the lists package. There are versions of chunksOf for lists, text, sequences, and probably other things.
                                                                  $endgroup$
                                                                  – dfeuer
                                                                  14 mins ago













                                                                  0












                                                                  $begingroup$


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





                                                                  a=>b=>{int i=0;return a.GroupBy(_=>i++%b);}


                                                                  Try it online!






                                                                  share|improve this answer









                                                                  $endgroup$













                                                                  • $begingroup$
                                                                    @JoKing [1,2,3], 4 should output [[1],[2],[3]]. You are dealing 3 cards to 4 players. I will update the main question.
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago












                                                                  • $begingroup$
                                                                    It's generally discouraged to post solutions to your own challenges immediately.
                                                                    $endgroup$
                                                                    – Shaggy
                                                                    1 hour ago






                                                                  • 1




                                                                    $begingroup$
                                                                    @Shaggy ok I will take it into account for the next time. It is fine on so and rpg but I guess the competitive aspect of codegolf made it a bit unfair to self post directly. Make sense.
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago










                                                                  • $begingroup$
                                                                    @Joe king you are right! I made a typo :/
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago
















                                                                  0












                                                                  $begingroup$


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





                                                                  a=>b=>{int i=0;return a.GroupBy(_=>i++%b);}


                                                                  Try it online!






                                                                  share|improve this answer









                                                                  $endgroup$













                                                                  • $begingroup$
                                                                    @JoKing [1,2,3], 4 should output [[1],[2],[3]]. You are dealing 3 cards to 4 players. I will update the main question.
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago












                                                                  • $begingroup$
                                                                    It's generally discouraged to post solutions to your own challenges immediately.
                                                                    $endgroup$
                                                                    – Shaggy
                                                                    1 hour ago






                                                                  • 1




                                                                    $begingroup$
                                                                    @Shaggy ok I will take it into account for the next time. It is fine on so and rpg but I guess the competitive aspect of codegolf made it a bit unfair to self post directly. Make sense.
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago










                                                                  • $begingroup$
                                                                    @Joe king you are right! I made a typo :/
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago














                                                                  0












                                                                  0








                                                                  0





                                                                  $begingroup$


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





                                                                  a=>b=>{int i=0;return a.GroupBy(_=>i++%b);}


                                                                  Try it online!






                                                                  share|improve this answer









                                                                  $endgroup$




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





                                                                  a=>b=>{int i=0;return a.GroupBy(_=>i++%b);}


                                                                  Try it online!







                                                                  share|improve this answer












                                                                  share|improve this answer



                                                                  share|improve this answer










                                                                  answered 1 hour ago









                                                                  aloisdgaloisdg

                                                                  1,4941122




                                                                  1,4941122












                                                                  • $begingroup$
                                                                    @JoKing [1,2,3], 4 should output [[1],[2],[3]]. You are dealing 3 cards to 4 players. I will update the main question.
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago












                                                                  • $begingroup$
                                                                    It's generally discouraged to post solutions to your own challenges immediately.
                                                                    $endgroup$
                                                                    – Shaggy
                                                                    1 hour ago






                                                                  • 1




                                                                    $begingroup$
                                                                    @Shaggy ok I will take it into account for the next time. It is fine on so and rpg but I guess the competitive aspect of codegolf made it a bit unfair to self post directly. Make sense.
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago










                                                                  • $begingroup$
                                                                    @Joe king you are right! I made a typo :/
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago


















                                                                  • $begingroup$
                                                                    @JoKing [1,2,3], 4 should output [[1],[2],[3]]. You are dealing 3 cards to 4 players. I will update the main question.
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago












                                                                  • $begingroup$
                                                                    It's generally discouraged to post solutions to your own challenges immediately.
                                                                    $endgroup$
                                                                    – Shaggy
                                                                    1 hour ago






                                                                  • 1




                                                                    $begingroup$
                                                                    @Shaggy ok I will take it into account for the next time. It is fine on so and rpg but I guess the competitive aspect of codegolf made it a bit unfair to self post directly. Make sense.
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago










                                                                  • $begingroup$
                                                                    @Joe king you are right! I made a typo :/
                                                                    $endgroup$
                                                                    – aloisdg
                                                                    1 hour ago
















                                                                  $begingroup$
                                                                  @JoKing [1,2,3], 4 should output [[1],[2],[3]]. You are dealing 3 cards to 4 players. I will update the main question.
                                                                  $endgroup$
                                                                  – aloisdg
                                                                  1 hour ago






                                                                  $begingroup$
                                                                  @JoKing [1,2,3], 4 should output [[1],[2],[3]]. You are dealing 3 cards to 4 players. I will update the main question.
                                                                  $endgroup$
                                                                  – aloisdg
                                                                  1 hour ago














                                                                  $begingroup$
                                                                  It's generally discouraged to post solutions to your own challenges immediately.
                                                                  $endgroup$
                                                                  – Shaggy
                                                                  1 hour ago




                                                                  $begingroup$
                                                                  It's generally discouraged to post solutions to your own challenges immediately.
                                                                  $endgroup$
                                                                  – Shaggy
                                                                  1 hour ago




                                                                  1




                                                                  1




                                                                  $begingroup$
                                                                  @Shaggy ok I will take it into account for the next time. It is fine on so and rpg but I guess the competitive aspect of codegolf made it a bit unfair to self post directly. Make sense.
                                                                  $endgroup$
                                                                  – aloisdg
                                                                  1 hour ago




                                                                  $begingroup$
                                                                  @Shaggy ok I will take it into account for the next time. It is fine on so and rpg but I guess the competitive aspect of codegolf made it a bit unfair to self post directly. Make sense.
                                                                  $endgroup$
                                                                  – aloisdg
                                                                  1 hour ago












                                                                  $begingroup$
                                                                  @Joe king you are right! I made a typo :/
                                                                  $endgroup$
                                                                  – aloisdg
                                                                  1 hour ago




                                                                  $begingroup$
                                                                  @Joe king you are right! I made a typo :/
                                                                  $endgroup$
                                                                  – aloisdg
                                                                  1 hour ago











                                                                  0












                                                                  $begingroup$


                                                                  J, 13 bytes



                                                                  [</.~#@[$i.@]


                                                                  Try it online!






                                                                  share|improve this answer









                                                                  $endgroup$


















                                                                    0












                                                                    $begingroup$


                                                                    J, 13 bytes



                                                                    [</.~#@[$i.@]


                                                                    Try it online!






                                                                    share|improve this answer









                                                                    $endgroup$
















                                                                      0












                                                                      0








                                                                      0





                                                                      $begingroup$


                                                                      J, 13 bytes



                                                                      [</.~#@[$i.@]


                                                                      Try it online!






                                                                      share|improve this answer









                                                                      $endgroup$




                                                                      J, 13 bytes



                                                                      [</.~#@[$i.@]


                                                                      Try it online!







                                                                      share|improve this answer












                                                                      share|improve this answer



                                                                      share|improve this answer










                                                                      answered 22 mins ago









                                                                      JonahJonah

                                                                      2,4011016




                                                                      2,4011016























                                                                          0












                                                                          $begingroup$


                                                                          Jelly, 6 bytes



                                                                          sz0ḟ€0


                                                                          Try it online!





                                                                          share









                                                                          $endgroup$


















                                                                            0












                                                                            $begingroup$


                                                                            Jelly, 6 bytes



                                                                            sz0ḟ€0


                                                                            Try it online!





                                                                            share









                                                                            $endgroup$
















                                                                              0












                                                                              0








                                                                              0





                                                                              $begingroup$


                                                                              Jelly, 6 bytes



                                                                              sz0ḟ€0


                                                                              Try it online!





                                                                              share









                                                                              $endgroup$




                                                                              Jelly, 6 bytes



                                                                              sz0ḟ€0


                                                                              Try it online!






                                                                              share











                                                                              share


                                                                              share










                                                                              answered 6 mins ago









                                                                              Nick KennedyNick Kennedy

                                                                              44125




                                                                              44125






























                                                                                  draft saved

                                                                                  draft discarded




















































                                                                                  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%2f181029%2fdeal-the-cards-to-the-players%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

                                                                                  Histoire des bourses de valeurs

                                                                                  Why is there Russian traffic in my log files?

                                                                                  Rename multiple files to decrement number in file name?