【競プロ/AtCoder】Rubyで茶コーダーになるためのロードマップ

この記事は自作のポートフォリオ、ProadMapsで作成しました。
ProadMapsのサービス紹介、作成までの学習記録は別途記事を作成したので、チェックいただけると大変ありがたいです！

https://qiita.com/niboshi_uyudane/items/fa4ec11b13002f0cd3c5

**概要**

まだまだ成績のブレはありますが、なんとか茶色コーダーまでなりました...!Rubyの学習を始めて約10ヶ月ほどかかり、その間にRailsの勉強等もしていますが、競プロの役にたっていそうなものは、出来るだけ乗っけるようにしてみました。大まかには、Rubyとアルゴリズムの基礎を学習して、その後は基本的には過去問を解きながら自分なりのカンニングペーパーを作って、対応できる問題を増やしてスピードを上げていくという感じでした。競プロでアルゴリズムになれていると、webエンジニアへの就職を検討されている方であれば、ポートフォリオを作成する時でも、データの整形みたいなところで苦労しない(むしろ楽しくなる)し、就活のアルゴリズム系のコーディングテストでも自信を持って取り組めるので、のんびりでもやっておくのはアリかなと思います。少しでも参考になれば幸いです！成績表→https://atcoder.jp/users/uyudane

**タグ**

Ruby,競技プログラミング,AtCoder

**開始時スキル**

プログラミング完全未経験

**終了時スキル**

AtCoderで入茶

**総ステップ数**

13

## ステップ1 【YouTube】 AtCoderの始め方。競プロに興味はあるけどやっていないという方へ。

**紹介文/コメント**

Qiitaにも良い記事があるのでそういったものでもよいですが、自分はAtCoderとはなんぞやと思い最初にこれを見ました。動画内のCLIとかは別になくても解けるので、最初にそこの構築で時間かかっても勿体無いので飛ばした方が良いです。(自分はこの動画で存在は知っているものの使ったことがないので、良さも悪さも語れず、試してみなければと思っている状態です...笑)

**所要時間**

小 (10h以内)

**実施年月**

2022年4月

**コンテンツURL**

https://www.youtube.com/watch?v=vxBOC08XZ44

## ステップ2 【書籍】 うかる!基本情報技術者 午後・アルゴリズム編 2017年版 | 福嶋 宏訓 |本 | 通販 | Amazon

**紹介文/コメント**

5年前に基本情報技術者試験のアルゴリズムを解くために学習しました。RubyやJavaなど、特定の言語によらず、基礎的なアルゴリズムを勉強できるので、自分は特定言語の前に勉強してよかったなぁと思います。Rubyだと順番入れ替えとかメソッドで一発ですが、アルゴリズムの基本としてメソッドを使わずにやるならどうするかは知っておいた方が良いかなと思います。(なんとなく当時使った本のURLにしましたが、もちろん最新のをやるのがいいと思います！笑)

**所要時間**

中 (10h〜40h程度)

**実施年月**

2017年7月

**コンテンツURL**

https://www.amazon.co.jp/%E3%81%86%E3%81%8B%E3%82%8B-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E5%8D%88%E5%BE%8C%E3%83%BB%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E7%B7%A8-2017%E5%B9%B4%E7%89%88-%E7%A6%8F%E5%B6%8B%E5%85%88%E7%94%9F%E3%81%AE%E9%9B%86%E4%B8%AD%E3%82%BC%E3%83%9F/dp/4532409101/ref=sr_1_12?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=O99OV4T629TQ&keywords=%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0+%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1+%E5%8F%82%E8%80%83%E6%9B%B8+%E7%A6%8F%E5%B6%8B+2017&qid=1674280864&sprefix=%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0+%E5%9F%BA%E6%9C%AC+%E6%83%85%E5%A0%B1+%E5%8F%82%E8%80%83+%E6%9B%B8+%E7%A6%8F%E5%B6%8B+2017%2Caps%2C164&sr=8-12

## ステップ3 【Progate】 Progate(プロゲート) | Learn to code, learn to be creative.

**紹介文/コメント**

やはり最初はProgateが最強ですね...!環境構築不要で書きながら学べるのでほんと便利です。まぁ、後で別途詳しいところは本で学ぶ前提で、さらっとやるのが良いと思います！

**所要時間**

中 (10h〜40h程度)

**実施年月**

2022年3月

**コンテンツURL**

https://prog-8.com/courses/ruby

## ステップ4 【書籍】 ゼロからわかる Ruby 超入門 (かんたんIT基礎講座) | 五十嵐 邦明, 松岡 浩平 |本 | 通販 | Amazon

**紹介文/コメント**

Rubyの入門用の1冊。Progateをやってからであれば、そこまで詰まらずにできると思います！メソッドや各種構文は結局使わないと覚えないので、こういうものあるんだー程度で読み進めて行って、あとは後述の問題を解きながら覚えていけば良いと思います！

**所要時間**

中 (10h〜40h程度)

**実施年月**

2022年4月

**コンテンツURL**

https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8B-Ruby-%E8%B6%85%E5%85%A5%E9%96%80-%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93IT%E5%9F%BA%E7%A4%8E%E8%AC%9B%E5%BA%A7-%E4%BA%94%E5%8D%81%E5%B5%90/dp/4297101238

## ステップ5 【ITエンジニア向け転職・就活・学習サービス【paiza】】 Cランク獲得ストーリー（Ruby）

**紹介文/コメント**

PaizaはAtCoderに比べて数学的な問題が少ない印象で、if文や各基本メソッドを使って、複雑な問題を解いていく感じなので、基本的な部分を身につけるにはAtCoderより向いている気がします。結構、繰り返し似ているようなものを解かせる感じなので、そこは自分で飛ばしながらやっていく(or難しいやつやってダメなら基礎のやつやる)とかでいいと思います！

**所要時間**

中 (10h〜40h程度)

**実施年月**

2022年7月

**コンテンツURL**

https://paiza.jp/pages/works/stories/crank_ruby

## ステップ6 【プログラミング学習サイト【paizaラーニング】】 Bランクレベルアップメニュー Ruby編 | レベルアップ問題集

**紹介文/コメント**

Final問題をやってみて、ダメならその前の基礎の問題を解くようにしていました。

**所要時間**

中 (10h〜40h程度)

**実施年月**

2022年7月

**コンテンツURL**

https://paiza.jp/works/mondai/prob60/problem_index?language_uid=ruby

## ステップ7 (挫折)【プログラミング学習サイト【paizaラーニング】】 Aランクレベルアップメニュー Ruby編 | レベルアップ問題集

**紹介文/コメント**

Aランクになると、解答方法が分かってもめちゃくちゃ時間がかかる問題があったりして、難易度的にも時間効率的にもきつかったので途中でやめました。ここまで来ると、基本的な構文がわからずAtCoderが解けないということはないと思うので、もうAtCoderに移って良いかと思います。

**所要時間**

**実施年月**

**コンテンツURL**

https://paiza.jp/works/mondai/a_rank_level_up_problems/problem_index?language_uid=ruby

## ステップ8 【AtCoder】 AtCoder Beginners Selection - AtCoder

**紹介文/コメント**

AtCoder始めるさいにこれをやった方が良いという問題を集めてくれているものです。Paizaで割と自信をつけて望んでも、問題の傾向が違いもしかしたら苦戦するかもですが、慣れの問題で、着実に実力はついていて、すぐに解けるようになるので安心してください笑

**所要時間**

小 (10h以内)

**実施年月**

2022年8月

**コンテンツURL**

https://atcoder.jp/contests/abs

## ステップ9 とにかくコンテストに出る

**紹介文/コメント**

「AtCoder Beginners Selection」が出来れば、A,Bは解けると思うので、コンテストに出ちゃいましょう！AtCoder社長のツイートでわかる通り、最初の何回かはレートは暫定となっており、実際のレートよりも低く出るようです。(13回現在でも暫定となっています)なので、どんどん出ちゃいましょう。また、どうしても問題の相性によってレートはブレが出て、逆にいうとBまですごくトントン拍子にいって、Cがみんなにとってすごい難しいと、とBまでで500とかいくこともあるので、そういったラッキーパンチを引くためにも、数をこなすのが大事だと思います！笑

**所要時間**

**実施年月**

**コンテンツURL**

https://twitter.com/chokudai/status/914048306661138433

## ステップ10 過去問を解く&提出結果から他の人のRubyでの回答を見る

**紹介文/コメント**

AtCoderProblemsを使うと自分が解いた問題が分かったり、難易度がわかったりするので便利です。また、AtCoderの問題ページから、「提出結果」→「すべての提出」とすると、そこからRubyなど言語別にみんなの提出が見れるので、RubyのACの詳細からコードを見ると、Rubyでのより良い解答法が見れるのでとてもよいです！

**所要時間**

**実施年月**

**コンテンツURL**

https://kenkoooo.com/atcoder/#/table/

## ステップ11 カンニングペーパーを作る

**紹介文/コメント**

過去問を解きながらカンニングペーパーを作りました。分かりやすいところで、標準入力とかを毎回0からやっていてもしょうがないので、そういうよく使うものをまとめていくと、勉強にもなるし、スピードも上がっていくと思います。

**所要時間**

**実施年月**

**コンテンツURL**

## ステップ12 【書籍】 プロを目指す人のためのRuby入門[改訂2版] 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plus) | 伊藤 淳一 |本 | 通販 | Amazon

**紹介文/コメント**

茶色コーダーに必須ではないですが、ある程度競プロで知識をつけた後にこの本を読むと、少なくともメソッドとか基本構文とかの部分は、すごく入りやすくなっているし、知識を整理する意味でも読んでみると競プロ以外でも使える知識が間違いなく着くと思います！

**所要時間**

中 (10h〜40h程度)

**実施年月**

2022年12月

**コンテンツURL**

https://www.amazon.co.jp/E3-83-97-E3-83-AD-E3-82-92-E7-9B-AE-E6-8C-87-E3-81-99-E4-BA-BA-E3-81-AE-E3-81-9F-E3-82-81-E3-81-AE/dp/4297124378/ref=dp_ob_title_bk

## ステップ13 【これからやりたい】問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本

**紹介文/コメント**

本当は先に網羅的にアルゴリズムの勉強をしてもよかったのですが、ポートフォリオの作成を優先したので、出来ていませんでした。先にアルゴリズムを網羅的に勉強して、D問題を安定して解けるようになれば、より早く茶コーダーになれるかもしれないです。

**所要時間**

**実施年月**

**コンテンツURL**

https://www.amazon.co.jp/%E5%95%8F%E9%A1%8C%E8%A7%A3%E6%B1%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%80%8C%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%C3%97%E6%95%B0%E5%AD%A6%E3%80%8D%E3%81%8C%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8F%E6%9C%AC-%E7%B1%B3%E7%94%B0-%E5%84%AA%E5%B3%BB/dp/4297125218

以上です。
どなたかの参考になれば嬉しいです！