Code Jam で遊ぼう

ちょっとしたプログラムが書ける人なら誰でも参加できる、プログラミングの世界大会があるのをご存知ですか?

Google が主催する “Code Jam” です。

この予選がめちゃくちゃ面白い! 4万人を超える世界各国のプレイヤーが同時に戦う、いわばオンラインゲームのようなものです。

今年もエントリー受付が始まりました。4月7日の土曜日がもし空いてるなら、予選だけでも、参加してみませんか?

Code Jam とは

Code Jam は、プログラミング問題を解くことによって得られるスコアの合計を競うゲームです。

開始時刻と同時に、3~4問の問題がオンラインで一斉に公開されます。参加者はローカル環境でそれを解くプログラムを書き、そのソースコードを送信1する形で解答します。正答すると、問題の難易度に応じて設定されたスコアがもらえます。

獲得スコアの順で上位の人が、次のラウンドに進出できます。同点の場合は、解答時間の短さで順位付けがされます。

予選の楽しみ方

Code Jam の予選ラウンドの魅力は、そのゆるさです。提出時間が丸一日あるので、好きな時間に始めて、好きな時間にやめられます。

私はお菓子とドリンクを買い込んで、この土曜日を迎えるのが好きです。Code Jam の問題は本当によくできていて、問題を簡単に解くためのカギが大抵どこかに隠れています。ひらめいてしまえば、それを実装する技術はさほど問われない。そんな問題が多い印象です。

日がな一日、ああでもないこうでもないと考えていたら、あっという間に夜です。そんな知的な思索で一日を満たせる喜びが、Code Jam の予選にはあります。ある時など、夜食を買いにコンビニまで歩いている最中に解法を思い付いたことがありましたが、あの感動は忘れられません。

予選の次には1回戦があります。ここからは一変してガチの戦いになりますが、その心配は無用です。プロでも落ちるのが Code Jam の予選です。予選を抜けたら、むしろ精鋭のプロだと勝ち誇ってもいいでしょう。

フレンドリストを作ろう

知り合いの登録名をリストに追加しておくと、リアルタイムでその人の提出状況がわかり、楽しみが倍増します。私もライバルの動向に触発されて粘り勝ちしたことが何度もあります。スコアを見る以外には何の干渉もできないし、追加したことも相手にはわかりません。どんどん追加しましょう。

ちなみに私の登録名は M.Saito です。よかったら、追加しておいてください。

英語にひるんではいけない

Code Jam をとっつきにくくしているものがあるとしたら、全文が英語だということでしょうね。特に Code Jam は他のコンテストに比べてひねった表現がよく登場します。でも、ここで反射的にページを閉じてしまうのはもったいない話です。

というのも、Code Jam はコアとなる問題そのものはとてもシンプルで、それを変な英語でデコレーションしているだけだからです。難しい単語の大半は、実は読み飛ばしても問題の本質に影響ありません。

確かに、コアの部分を見出すこと自体に少しの英語力は必要です。ただ、それは思われているほど高いレベルではありません。少しだけ、頑張ってやってみてください。英語力は上がっていないのに問題の読解力は上がるという、不思議な成長が味わえるはずです。

それでは、予選ラウンドで会いましょう!

脚注

  1. 去年までは出力ファイルを送信する形式でしたが、変更されたようです
ソフトウェアの設計・実装がうまく行かなくてお困りではありませんか? 組込屋にお任せください。リモート案件は、常駐の半額でお受けしています。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)