0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

とある大学生の色変記事-茶色編

Posted at

はじめまして、returnhanamaruと申します。
この度報告が三ヶ月ほど遅れましたがAtCoderにユーザー登録をし、完全未経験の状態からプログラミングを始めてから丁度一年で茶色コーダーになることができました。

https://atcoder.jp/users/returnhanamaru
 
筆者の AtCoder 登録時点でのスペック
・情報系の大学一年生(プログラミングの授業は履修前)
・本当にプログラミングに関しては何も分からない。それこそ”Hello World”の出力のやり方すら分からないレベル。
・大学入学時点ではタッチタイピングもできず人差し指でキーボードを使っていたレベル(登録時点では実用的なレベルにはなっていた)。
・ITに関する知識も皆無で資格も未所持(登録から数ヶ月後にIパスと基本情報を取得する)。

競技プログラミングを始めようと思ったきっかけは本当に大それたものではなくただC言語を使う練習をするために登録したので、レートを上げようとか茶色コーダーになろうとかそういう目標は一切ないまま無欲なスタートすることになります。

ほかの方の色変記事を読んでいると、実務経験があったり情報系の大学や院を既に出ていたり、登録以前に何らかの言語を触ったことがある方が多い印象を受けましたが私に関しては全くそんなことがなかったので、ほかの人と比べるとかなり不利な状態からのスタートだったと思います。

・最初の1ヶ月間(2023年9月)
先ずは、C言語の書き方について勉強するところから始まります(後にC++に乗り換える)。とは言えプログラミングの勉強方法についても何もわからなかったので、とりあえずC言語の教科書に載っているサンプルコードを写経するところから始めました。それにより基本的な入出力やfor文やwhile文の書き方覚えていくことができました。
そして一番最初に立てた目標は、どんなに時間がかかってもいいからコンテスト中に何としても一問解くというもので目標としてはかなり低い部類のものだと思います。
しかし、この頃はコードの書き方を覚えきれていないので方針を立てることができてもA問題ですら実装の仕方がわからないということが割とあり、もどかしい思いをすることになります。

・2023年10月~11月
ここら辺からようやくC言語でコンテストに参加することが大幅に不利になるということに気が付きC++に乗り換えることを決意する。
そして、入出力のcinやcoutのことやSTLの存在を知ることになる。
ソートするときも以前は二重for文を使ったバブルソート(計算量O(n^2))を使っていたが、sort(a.begin(),a.end());などを使えるようになる。

・2023年12月
ここら辺から本格的にレート上げたいという思いや茶色コーダーになりたいという思いが出始めてきて、ここから本格的に精進が始まることになります。
この頃やったことは非常にシンプルで、とにかく過去のA問題を解くというものでした。
そのおかげか以前よりも遥かに素早くA問題を解けるようになったり、たまにB問題も解けるようになり一回だけだが茶色パフォを出すことに成功する。

・2024年1~3月
A問題は大方解き終わったので、B問題とC問題を解いていくことになる。
また1月にIパス、3月に基本情報に合格する。
ここら辺から茶色パフォをとれることが増えて順調にレートを伸ばしていき三月ぐらいになるとレートは300台に乗った上に平均パフォが大体500ぐらいだったので茶色コーダーになれるのは時間の問題だと思い始める(死亡フラグ)。

・2024年4月
ここら辺から暗黒期が始まることになる。
なんと茶色パフォは一回も出せず挙句の果てには一完で終わった回も存在するぐらい。結果的にレートは22も下がってしまう。

・2024年5~7月
ここら辺から、なかなかレートが上がらずコンテストに参加すること自体がしんどいと感じ始めるようになる。
参加回数は三か月でなんとたったの三回。

・2024年8~9月
ここら辺から一気に覚醒することになる。
これまで停滞していたレートが噓のように上がり始めたった三回のコンテストでレートを90近く上げ、入茶した際のコンテストでは過去最高のパフォーマンス788を記録し色変に成功しこの時初めて初心者から抜け出すことができたように感じます。

・これからAtCoderを始めようとしている方へ
私はAtCoderに登録しコンテストに参加するようになるということはプログラミングやアルゴリズムの能力を大幅に向上させる代わりに常にレートやコンテストのことが頭をかすめ続けるようになるという悪魔の契約だと思っています。また、ユーザーレベルは向上し続けているため年々レートを上昇させたり色変するハードルが上がり続けているように感じます。それでもレートが上昇したりプログラミングのスキルが向上した行くのはとても楽しいことなので興味のある方はぜひ参加してみてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?