皆様、こんにちは。キャスレーコンサルティング SD(システム・デザイン)事業部 細見です。
突然ですが、皆様、「競技プログラミング」というものをご存知でしょうか。

ある共通の課題を、参加者全員でそれぞれプログラミングを行い、
速さを競うというプログラミングコンテストの一種です。

今回は、コンテストで出題されるような問題を競技のように競い合うのではなく、
気軽な感じで解いてみよう!という趣旨で開かれました、
「第1回プログラミング問題を解いてみよう大会」の様子をご紹介いたします。

役職・スキルを問わず、誰でも参加OKで、見学だけでもOKなとてもフリーなイベントです。
なんと競技中の飲食・飲酒も有りです!!
IMG_0001

一体どんな問題が出題されるのか、興味深々の参加者。開始早々からスクリーンに視線が集まります。
IMG_0002

本大会の主催者である秦から、大会の概要と競技内容の説明が始まります。
IMG_0003

あくまでも「速さを競うこと」が目的ではなく、
「気付きを得られる場」にしたいとの主催者の思いにより、本大会が開催されました。
IMG_0004

さてさて、気になる第1回の出題テーマは・・・・・・

こちらっ!!
『FizzBuzz問題(フィズ・バズ問題)』です。
IMG_0005

【Fizz Buzz問題とは】
数字を1から順に出力し、3の倍数のときは「Fizz」、5の倍数のときは「Buzz」、
3と5の倍数のときは「FizzBuzz」と表示するというものです。

「制限時間2分」や「剰余(%記号等)を用いない」、
「できるだけ短いコードで書く」等の様々なルールを設ける場合もあるそうですが、
今回は「制限時間10分、インターネットで言語の仕様を調べてもよい」というルールで実施します。

プログラムの実行環境には、
『paiza IO(パイザ・アイオー)』というサービスを利用させて頂きました。
https://paiza.io/

様々な言語に対応しており、ブラウザ上でプログラムを実行できるとても便利なサイトです。

「どんな風に書こう?」「言語は何を使おう?」「ちゃんと動くコードが書けるかな・・・」と、
周囲から色々な声が上がりつつ、いよいよ競技開始です!

IMG_0006

すぐに手を動かす人はあまりおらず、皆さんシンキングタイムに突入です。
(お菓子とお酒は進んでいるようです)
IMG_0007_changed

私も、カタカタとコーディングしております。
私の使用した言語は、現在携わっているプロジェクトで使用している「PHP」です。
IMG_0008

「簡単簡単♪」と思いつつ、実行してみるとコンパイルエラーに(汗
修正を加えつつ、説明時に分かり易いようコメントを付けたりしていると、

…タイムアップ!!

あっという間の10分間でした。

各々書いたソースコードを、スクリーンに投影しながら実際に動作させ、書いた内容を発表します。
IMG_0009

細かな処理の部分で議論が白熱します。
IMG_0010

同じ言語でも人によって全然書き方が違ったり、微妙に出力が違ったり、強い拘りが見えたり、動かなかったり・・・
普段は別プロジェクトの社員の方とも交流ができたりと、非常に発見の多いイベントとなりました。

今後も定期的に開催されますので、面白い問題がありましたらご紹介させて頂きたいと思います。

ご覧頂き、ありがとうございました。