第一回ギークハウスプログラムコンテスト【8/4開催】に参加してきました!

第一回ギークハウスプログラムコンテスト【8/4開催】に参加してきました!

https://www.facebook.com/events/206583066132014/?hc_location=stream

a
こういうプログラミングコンテスト的なものには、参加した事が無かったので新鮮!
内容は、二時間でお題のプログラミングを実装する。
プログラミング言語は自由という事で、書き慣れたPHPを選択。

出題者1名+参加者5名だったのですが、4名がJAVAでした。
PHPとRubyが各一名ずつと考えると、JAVA人気が感じられる(^_^;)

お題は、出題者がハマっているポーカーの役判定プログラミング。
ランダムに渡された5枚のカードから、一番強い役を出力する実装を作れ!との事。

PHPはWEB言語(ブラウザに出力する言語)なので、あんまりコマンドラインでは使わないのですが、せっかくなので標準入出力で実装!

1, まずは引数で渡された値を、そのまま出力するプログラムを生成。
2, 引数を数字とスートに分け、配列に格納。
3, PHPお得意の便利関数でソート(array_multisort)
4, ストレートとフラッシュの判定文を書く(ストレートの13->1への続きがややこしかった…。)
5, ペアは、またまたPHP便利関数(array_count_values)を使ってカウント
6, 各フラグから役を判別して、標準出力に吐き出す

ソースはこちら
https://gist.github.com/fddcddhdd/6149919

途中まで二時間で完成するかな〜。と思っていましたが、1時間40分で実装完了。
残り20分でテストしながら、バグ出し&リファクタリングして完成!

5分程度の時間で各自のコードをプレゼン。
PHPは便利な関数があっていいな〜という評価でした(笑)
そしてPHPの簡便さもあってか、投票で1位になりました\(^o^)/