LoginSignup
2
2

More than 5 years have passed since last update.

解いてみた:これが10分でできない人は自分がかなりプログラミングができないというつらい事実を認識しましょう。

Last updated at Posted at 2015-03-16

問題

(引用開始)
400:名前:名無しさん@涙目です。(岐阜城):2011/10/15(土) 18:51:50.10 ID:eMBuD7fo0
某所から拾ってきた。
「これが10分でできない人は自分がかなりプログラミングができないというつらい事実を認識しましょう。」だそうな。

人数とカードが与えられたとき、分配後のカードを配列として返す関数を作成せよ。
カードは与えられた文字列の前から順番に配られ、配られるカードの枚数は均等で余りは無視することとする。
(引用終了)
http://qiita.com/hisui@github/items/b47c411437d60440a605

回答

問題を明確には理解できなかったけど、以下のような感じだろうか。かかった時間は約5分くらい。

def card_distributer(number, cards):
  card_list = [ [] for i in range(number) ]
  while ( len(cards) // number ) > 0:
    for i in range(number):
      card_list[i].append(cards.pop(0))
  return card_list

print card_distributer(3,['SA', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7', 'S8', 'S9', 'S10', 'SJ', 'SQ', 'SK'])

出力

[ ['SA', 'S4', 'S7', 'S10'], ['S2', 'S5', 'S8', 'SJ'], ['S3', 'S6', 'S9', 'SQ'] ]
2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2