はじめに
こんにちは。日経IDチームの淵脇です。今回は、日経に新しく入社していただいた方を歓迎するための社内プログラミングコンテストについてのお話をしたいと思います。
なお、プログラミングコンテストについては競技プログラミングのご紹介という記事でご紹介させていただいておりますのでそちらもぜひお読みください。
なぜ社内プログラミングコンテストを開催するのか
最近では日本経済新聞社でもリモートワークが浸透しつつあり、ミーティングは Teams や Meet などオンライン化が進んでいます。これらのツールは以前から社内で広く使われており、業務ではある程度スムーズにシフトしている状況です。しかし雑談や立ち話といった業務と関係のないコミュニケーションについてはオンライン会議をそのために開催するというのもなかなかハードルが高く、特に新しく入社された方がチーム外のメンバーと知り合う機会が不足しがちです。
そこで社内プログラミングコンテストです。社内プログラミングコンテストには下記の特徴があります。
- オンラインでイベントが開催できる。
- 他チームの人とも共通の話題ができる。
- 社内コンテストなど簡単なものであれば AtCoder Problems で手軽に実施できる。
そのため、リモートワークの状況下でも組織横断の雑談コミュニケーションを向上させることが可能です。日経ではその月に入社した人の歓迎の意味も兼ねて Welcome Contest をここ何回か開催しておりますので、そのご紹介をしたいと思います。
Welcome Contest のすすめ
社内・学内コンテストなど内部の人向けのコンテストであれば AtCoder Problems でバーチャルコンテストを組むのがおすすめです。バーチャルコンテストとは AtCoder など公式のコンテストなどで過去に出題された問題を選び、さらに開催時間を指定することで、簡単なコンテスト形式が組めるシステムです。
8月入社の方の Welcome Contest ではこのようなバーチャルコンテストを組みました。

バーチャルコンテストを組んだら早速 Slack で宣伝し参加者を集めます。社内 Wiki に簡単な紹介ページも作りました。

このようにして競技プログラミングの経験がない人でも参加しやすい企画を心がけています。 また、コンテスト終了後には30分ほど Meet で感想会なども開催することがあります。Welcome Contest によるチーム横断のコミュニケーションをさらに向上させるため、こういった施策はどんどん取り入れましょう。
日経の Welcome Contest で実際に出題された問題
日経の Welcome Contest では大体 AtCoder Beginner Contest の前半で出題されるような問題を出しています。その中で8月の Welcome Contest で出題された問題をご紹介したいと思います。(ただし、このページが出題されたわけではなく、実際はバーチャルコンテストとして出題されたということにご注意ください。)

これはACするだけなら簡単で、勇者が順に右から倒せるだけ貪欲に倒していけば答えが求まります。しかし貪欲解法というのは罠があることが多く、できれば正当性の証明がほしいところです。一方で「300点だし、そんなに変な制約もなさそうだし貪欲でいけるだろう」という、ある意味ゲーム的な考え方も競技プログラミングではよくある考察の一つです。このように競技プログラミングはアルゴリズムの勉強というだけでなく、趣味性も高いため非公式なコミュニケーションのネタとしても優秀かなと思っています。
みなさんも社内や学内などでプログラミングコンテストを開催し、チームのコミュニケーション活性化につなげてみてはいかがでしょうか。
終わりに
本記事では日本経済新聞社の社内プログラミングコンテストについてお話させていただきました。
テクノロジーメディアを目指す日本経済新聞社では、 日経電子版や日経IDなどの情報サービス・プラットフォームの開発に、このようなデータ構造やアルゴリズムの技術を活用しています。 メディアの未来を作る仕事に興味のある方は、ぜひお気軽にご連絡ください。