はじめに
文系大学(院)生が茶色になるまでの約半年間したことの備忘録のようなものです。
技術関連の話というより、ただやったことや考えたことを好きなように語っています。
プログラミング初心者でAtCoderを始めたいという方はもしかしたら役に立つかもしれないです。
目次
・筆者のステータス
・AtCoderを始めた時点でのステータス
・競プロを始めた経緯
・茶色になるまでの過程で重要だったと思うこと3点
・たくさんコンテストに出る(問題を解く)
・分からなければ一旦諦める
・情報収集
・茶色になって思うこと
筆者のステータス
▼AtCoderを始めた時点(2019年10月)でのステータス
・心理学部の大学生(B4)
現在は文系の院生(M1)です。
もちろん数Ⅲはやってませんし、高校数学は大学生活の中で忘却しました。
・プログラミング経験ほぼなし
AtCoderを始めるまでプログラミングの経験はほぼありませんでした。
(大学でプログラミングの授業もありましたが、ギリギリ単位を取れた記憶しかない)
・趣味の謎解き
謎解きはAtCoderの問題を解く感覚と似ており、問題を解くことが楽しく感じられたと思います。
▼競プロを始めた経緯
pythonでのデータ分析に興味を持つ
↓
前段階としてpythonでコードを書く練習がしたい
↓
練習になるものとして競プロ(AtCoder)を勧められて始める
茶色になるまでの過程で重要だったと思うこと3点
1. たくさんコンテストに出る(問題を解く)
当たり前ですが、レーティングを上げるにはコンテストに出る必要があります。
はじめのうち(10回参加するまで?)は本来の実力より低いレーティングが出る可能性が高いです。
つまり、より多くのコンテストに出ることがレーティングを上げる近道になります。
とはいっても、学校のテストと同じで問題の傾向や解き方が分からなければコンテストで問題を解けません。
私の場合は、A問とB問を全部解いたり、AtCoder Problemsのバチャコン(あさかつとよるかつ)に毎日参加したりして傾向と解き方を学びました。
AtCoder Scores -精進グラフ
コンテストでのレーティングが太い線、精進が細い線で示されています。
精進した(問題を解いた)分だけ、レーティングも上がっている気がします。
2. 分からなければ一旦諦める
コンテスト以外で分からない問題にぶつかった場合、30分かけてもACできないなら諦めることも重要だと思います。
私自身負けず嫌いなので、始めはひたすら考えて頑なに解説も他の人のコードも見ませんでした。
しかし、これではものすごく時間がかかってしまいます。
始めのうちは解説や他の人のコードを見て解き方を学び、類題や同じ問題と遭遇したときにACできれば良いと思います。
(たまに「なんでこんな簡単なことに時間をかけて考えていたのか」とダメージを受ける問題もあるので、しばらく考えて分からないときは潔く解説等を確認していました)
3. 情報収集
twitterで競プロが強い方々をフォローしておくと、プログラミングの知識を得られたり、コンテストに関する情報を早く知れたりします。
(あと、同じくらいのレーティングの人をフォローしておくとモチベーションが上がります)
また、○色になるためにどのようなことをすれば良いか書いている記事やアルゴリズムに関する記事には大変お世話になりました。
→着色するために何をすれば良いのか明確になりました。
→とてもわかりやすいアルゴリズムの記事を書かれている方。いつもお世話になっています。
茶色になって思うこと
本当にこの半年間長かったです。
私より後に始めた人が先に着色したり、コンテストの参加人数が増えて順位が下がったりしてショックを受けることもありました。
でも、茶色になれて嬉しいし、競プロ楽しい。
競プロで今まで関わることのなかったすごい人達と戦えて、世界が広がった気がします。
とりあえず、次は緑色になれるように頑張ります……。