日本一のプログラマーって、何をもって日本一というのだろう。
この大会、既に19回とは結構、歴史がありますね。
これは純粋に課題を解決するためのプログラムの正確さを競う競技です。
過去問はここにあります。
問題例:第19回日本情報オリンピック 一次予選(第1回) 問題2
長さ N の英小文字からなる文字列 S が与えられる.S のうち母音字の個数,つまり a,i,u,e,o の個数の総和を求めよ.
勝つためには、たくさんの問題を経験して、正確に問題を読み取り、正確に回答を作成する。個人的な感想は職人日本一という感じですね。
一方、こんなコンクールも。
こちらは、プログラム技術はあくまでツール。技術より、アイデアや発想のほうが重要です。まさに夏休みの自由研究の延長線ですね。こちらは芸術系の日本一を決めるのに近い感じでしょうか?
そして、ロボコンになると、ソフトウェアより、ハードウェアの比重が大きくなるので、純粋なプログラミングコンテストとは言えませんが、プログラム技術とアイデア、発想の両方が必要になりますね。
さらに操縦者のスキル(運動神経、集中力など)も必要で、こちらは決められたレギュレーションの中で競い合うF1などの競技に近いかもしれませんね。
一方、大人向けのプログラミングコンテストって、ハッカソンなどのアイデア競技はありますが、あまり聞きませんね。
大人向けというか、プロ向けコンテストとかあっても良いかも。
大雑把な仕様書からプログラムを起こすコンテスト。
仕様書に書かれていない「背景」を想像しながら、要求を補いつつ、コーディングするのが「プロ」の競技。
また、アルゴリズムの技術点だけでなく、変数名の付け方とか、コメントの書き方などの芸術点も競い合うとか。
どこかの会社でやってるかもしれませんが。。。
どうでも良いが、このフリー写真のコード、言語はJavaScriptですね。