コンパイラかく語りき

import { Fun } from 'programming'

競技プログラミングはじめました

会社の人に誘われて競技プログラミングを始めました。

 

競技プログラミングとは?

与えられた問題を、素早く性格に解くプログラミングのイベントです。

競技プログラミング Wiki*

 

Webプログラミングではなく、コンソール上で行えるIO(入出力)プログラミングになります。

なので、アルゴリズムやデータ構造のいい勉強になるかもしれません。

 

自宅でも

プログラミングのイベントとは言え、自宅でも過去問を解くことができます。便利な時代ですね。

こちらのサイトからアクセスできます。

AtCoder (アットコーダー)

 

解いてみる

今回は過去問の第25回に挑戦してみました。

abc025.contest.atcoder.jp

 

問題は4題あります。

f:id:chuck0523:20151205115932p:plain

下に行くほど、難度が上がります。

 

また、このように、回答への制約があります。

f:id:chuck0523:20151205115959p:plain

プログラムの実行時間やファイル容量に指定があり、それを超えるとNGのようです。

 

まずはA問題

ひとまずA問題を解いてみました。

25個の文字列から1つを選択するというもの。(詳しくは問題文をごらんください)

abc025.contest.atcoder.jp

 

書いたコードがこちら。

f:id:chuck0523:20151205120211p:plain

 

答え合わせは、コードを提出することでできます。

f:id:chuck0523:20151205120301p:plain

テキストエリアにコードを貼り付けて、送信ボタンを押します。

 

するとこのように、何通りかの確認が行われます。

f:id:chuck0523:20151205120507p:plain

 

その結果がこちら。

f:id:chuck0523:20151205120555p:plain

Status[AC]は全てのチェックにパスしたことになります。

実行時間は1001ms。指定の2秒をクリアしています。やったね!

 

まとめ

会社の人のおかげで、新しいプログラミングの世界に触れることができました。

A問題、B問題はカンタンなのですが、C,Dは僕にとってはかなり難しいです。それでも、アルゴリズムやデータ構造の勉強になるので、やらない手はないですね!

ぜひぜひ、挑戦してみてはいかがでしょうか???