On Hacking

情報系大学院への入学を目指すWebエンジニアの日記

AtCoderで緑レートに昇格しました

昨日、AtCoderで緑レートに昇格しました。俗にいう「変色エントリ」を書きます。

f:id:Ketone:20200302214130p:plain

そもそもAtCoderとは、オンラインの競技プログラミングコンテストで、参加者の実績に応じてレートの色が変化します。AtCoder社長 chokudai氏のブログ記事に、レートの色と実力の目安が書かれています。「緑レート」のレベル感に関する記述を、以下に引用します。

緑色になれれば、「競技プログラミングに熱心に取り組んでいる人」と考えて問題ないでしょう。要求レベルも決して低くなく、出場回数が足りないとマイナス補正がかかるため、運だけで到達することはまず出来ないラインです。他社アルゴリズム力判定サービスだと、上位1%の最高ランクが付く実力です。(あくまで「アルゴリズム力部分だけであることに注意してください)

印象としては、

  • 学生ならかなり優秀。
  • エンジニアとしてもある程度の安心感がある。論理的に複雑な処理の実装に対応できない、なんてことはなさそう、くらいには思える

くらいの印象です。

Ref) http://chokudai.hatenablog.com/entry/2019/02/11/155904

 

一言でいえば「そこそこ出来る」という程度で、自慢できるほどではありません。ただ、経験豊富なエンジニアであっても、競プロ的なスキルに関しては緑レート以下の方々もしばしば見かけます。また、私のように未経験からエンジニアに転向した人のうち、緑色レベルのアルゴリズム力がある人は少ないと思うので、それなりに自信を持っています。

なお、茶色から緑色に昇格するまでに、以下のことをやりました。

  • 使用言語をRubyからC++に変更しました。C++で書かれた解説記事・書籍が多いのが、C++に乗り換えた最大の理由です。実行速度的には、Rubyでも水色〜青色レートを十分に目指せると聞きます。
  • プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』(通称 : 螺旋本) を1/3ほど進めました (AOJを使ってハンズオンで進めていますが、実行速度がシビアすぎて、やる気が削がれますね...)。
  • ABCの過去問を、A問題・B問題は全問、C問題は3/4ほど埋めました。「自力で解く」ことにこだわるよりも、「自力では解けないレベルの問題を、解説や解答例を見ながら解く」方が、実力の伸びに繋がる、と個人的には感じています。

 

f:id:Ketone:20200302220549p:plain

 

次の目標は、年内に水色レートまで昇格することです。ここからレートを伸ばすのが厳しくなってきます。引き続き、精進していきます (身近にAtCoder仲間を増やしたいですね...)。

 

※なお、私がAtCoderを始めたのは、御多分に洩れず、Lilian氏の影響ですhttps://note.com/neko_chan0214/n/n3a64bc1e1412