ゲームも写真も楽しい

Shadowverse・写真・好きなものを中心に色々書くブログ

AtCoderで茶色になった

AtCoder茶色になりました。ということで、どのくらいかかったとか何やったとか本当にざっくり書いておきます。

といっても、筆者は本当に全探査ぐらいしか出来ず(蟻本買って二部探査学び始めたばっか)、多分内容は深くはないと思います。いずれまた記事書くときは深く出来るように努力します。多分。

 

 

 

いつ始めたか、始めた時点でのレベルはどのくらいだったか

期間の目安として一応。始めたのは大体2018年の8月くらいでした。その時レベルとして、大学の講義でCを触ってとりあえず一通りの基本的な機能を学んだあと、C++をほんの少し学び始めたぐらいのレベルでした。本当に基本的な入出力とfor文if文ぐらいしか使えなかったと思います。

割と真面目に取り組み始めたのは2019年3月からなのですが、始めた期間からでいえば7か月ぐらいかかってますね。でも実質1か月ぐらいだと思います。

 

何をやったか

ABCにおける300点問題(いわゆるC問題)から上は、初めて読んだときに「今の自分の技術だと実装もおぼつかない」と思いました。なので、まずはAとBを出来るだけ早く解くこと、しっかりと実装できることを目標に過去のA・B問題(100点・200点)を解き始めました。

f:id:dot_jp:20190331120948p:plain

AもBも半端に見えますが、Aに関してはAtCoder Scoreに表示されているすべての問題を解きました。この時点でAに関しては十分に早く解けると思ったのでBに移行しました。

Bに関しては概ね円グラフの通り、1/3ぐらい解いているのが現状です。前に比べたら随分と提出までの時間が短くなったと感じているので、プログラミング自体始めたて(初心者)という方には過去のAとBを埋めるところから始めるという方法はおすすめなのかなぁと思っています。

 

tips

まぁ本当にやったことと言えばAとBをひたすら解くってことだけになってしまうので、適当に助言的なこと書いておきます。

  • 過去問解くときに時間を計る

ダラダラ解くよりかは本番同様時間を計ったほうがいいと思います。そして早く解けなかった場合は、なぜ早く解けなかったかを考えてその場で復習しておくと次回以降似たような問題が出た時より早く解けると思います。(前に比べてより早く解けたのが実感できると嬉しい)

  • 他人の解答を見る

実装までに時間がかかったとか、解法がいまいちぱっとしない(綺麗にまとまっていない)という場合は、他人が書いたコードを漁ることにしています。

Aだと大きい違いは多分ないとは思うのですが、Bからは綺麗にまとまっていたり、自分の知らない関数があったり(これは単純に自分の勉強不足な気はします)するのでおすすめです。まぁその都度C++のリファレンスを開いて理解することになるのですが。

 

 

 

色々書こうとは思ったけど振り返ったら大体こんな感じでした。A解いて、B解いて、リファレンス開いて・・・。

次は緑になるため蟻本と共に頑張ります。