こんにちは、新卒2年目の @wai-doi です。
今回は、昨年(2020年)の年末にアジャイル事業部内で「どう書く」というイベントを開催したことについて書きます。(※社内でのみ行ったイベントです)
例年、年内最後の営業日には事業部のメンバーでオフィスの大掃除をしています。しかし2020年は、新型コロナウイルスの影響で全員がリモートワークとなっており、大掃除を行わないことになりました。その代わりに何か事業部内でイベントをやろうということで、mattsan さんに「どう書く」を提案していただきました。
どう書くって何?
「どう書く」とは以下のようなイベントで、TLE(実行時間制限)の無い競技プログラミングをイメージしていただければよいと思います。当日に用意していただいた資料から抜粋しています。
- 出題された問題を解くプログラムを時間内に書くイベント(遊び?)です
- 問題に沿ったサンプルデータ(入力と期待する出力)を用意しますので、出力が一致することで確認してください
- プログラミングの時間が終わったら、互いにプログラムを発表し解説します
- この体裁は、ソフトウェアエンジニアの @Nabetani さんをはじめとする「横浜へなちょこプログラミング勉強会」さんが 2012 年から2019 年にかけて開催されていたイベント「オフラインリアルタイムどう書く」に倣っています
- 「オフラインリアルタイムどう書く」のキャッチフレーズは 「負けられる戦いがここにある」 でした
過去に事業部で合宿をした際にも「どう書く」を行ったことがありました。
ESM どう書くReturns
「どう書く」が復活したということで「ESM どう書くReturns」と題して開催されました。
当日の様子
アジャイル事業部ではリモートワークがメインになってから、oVice を導入して仮想オフィスでコミュニケーションをとったりしています。今回のイベントも oVice に集まって会話しながら進めました。
当日のお題
お題は「カードの組み合わせのうち、数字とアルファベットの両方でビンゴになる組み合わせを出力する」というWビンゴ問題でした。
当日のお題はこちら Wビンゴ 〜 ESM どう書く Returns (2020/12/29)
解答時間は60分で、終わったら順番に全員の解答を発表していきました。
「どう書く」という名前の通り、他の方の解答を見るとこういう書き方もあるのかと発見があり楽しかったです。AtCoder のような TLE が無いため、いろんな解答があるのが面白いなと思いました。 ほとんどの方が Ruby で解答していましたが、言語の指定はなかったので C++ で解いている方もいました。
mattsan さんの模範解答です。
esmどう書く (2020/12/29) の解答 · GitHub
自分の解答も載せておきます。
https://github.com/wai-doi/doukaku-wbingo
おわりに
競技プログラミングを解き慣れている方もいて盛り上がり、大変良いイベントでした。 終了後の感想には、またやりたいという声がたくさんありました。
みなさんも腕に自信のある方はWビンゴ問題に挑戦してみてください〜。