Lapis Lazuli

technical blog for web developer

Goで競技プログラミングを戦う

競技プログラミングで他の言語を使う

競プロをかじったことのある人には周知の通り、C++が主流になっていて、AtCoderも上位ランクはC++ばかりです。
では他の言語はダメなのかと言われると、少なくとも高位の、それこそ赤とかにならない限りは問題ないと考えています。
というのも、rubyなどの遅いスクリプト言語でも、回答がタイムオーバーになるほどの処理に時間がかかる問題はあまり低ランクではありません。(pypyがあるpythonは別)
むしろ処理を効率よく書いて解いていくという競プロの本質に触れていけるという捉え方もあります。
ただAtCoderに関しては、様々なプログラミング言語でも解けるように考えられていて、制限時間とかも絶妙な範囲になっているらしいです。(とはいえ早いに越したことはないですが)

ではGoはどうなのか

Goも最近対応した言語ということで、人口的にはかなり少ない部類になります。
ネットで情報を探してもあまりヒットしなかったり・・・HowToを探すとなると大変なことはあります。
ただ実行速度は早いので、そこに関してはスクリプト言語ほどのデメリットはありません。あるとしたらライブラリが充実してないことくらいでしょうか。

どこかで切り替えは必要

この先、Goのシェアがどうなるかにもよりますが、上位を目指そうとすると必然的に乗り換える事になるかなと。
ただ目指すレベルによりますし、僕みたいに最終目標が青だという場合にはあまり関係ないのかもしれません。
ここらへんは実際にレベルアップしてみないと分からない部分ですねー。

ということで今週はコンテストなかったので、来週までにGoの知見を深めておこうと思います。それでは。