Re: Re: 10分でコーディング
会社の先輩がやっていたので自分も。
難易度 激簡単 目標時間10分以内
あなたはこれからトランプを配っていきます。
あなたにはトランプを配る人数、
そしてトランプが渡されます。
今回はとても簡単なので例題で説明します。
例)
2つの引数がもらえます。
3
"123123123"
最初の3はプレイヤーの人数を示しています。
"123123123" はトランプの並びを示しています。あなたはこのなかのトランプを
配っていかなければなりません。
この場合、あなたのプログラムは
{"111","222","333"}
を返さなければなりません。
"111"は一番めのプレイヤーが受け取るトランプです。
"222"が2番目のプレイヤーが受け取るトランプです。
"333"が2番目のプレイヤーが受け取るトランプです。
ところが、以下のような場合もあります。
すべてのプレイヤーは同じ数だけのトランプを受け取らなければなりません。
ですので
4
"123123123"
この場合、あなたのプログラムは
{"12","23","31","12"}
を返さなければなりません。
{"123","23","31","12"} は駄目です。
では、以下にもうすこし例をのせます。
例1)
6
"012345012345012345"
Returns: {"000", "111", "222", "333", "444", "555" }
例2)
4
"111122223333"
Returns: {"123", "123", "123", "123" }
例3)
1
"012345012345012345"
Returns: {"012345012345012345" }
例4)
6
"01234"
Returns: {"", "", "", "", "", "" }
例5)
2
""
Returns: {"", "" }
クラス名、などは以下のとおりです。
Class: Cards
Method: deal
Parameters: int, String
Returns: String
Method signature: String deal(int numPlayers, String deck)
10分でコーディング|プログラミングに自信があるやつこい!!
久々にrubyを書いてみた。
久々すぎて文法忘れてました (ノω・)テヘ
class Cards def deal(numPlayers, deck) cards = Array.new(numPlayers, "") return cards if numPlayers > deck.length deck.split(//).each_with_index do |c, i| break if i >= deck.length - deck.length % numPlayers cards[i%numPlayers] += c end return cards end end
エレガントに書けるようになりたいぜぇщ(゚д゚щ)