備考
現在のランクはBランクです。google検索でも同じようなブログはあるのですが、ここ最近の記事が少ないので、ここ一か月で行ったことを書いていこうと思います。
一か月前の自分のスペック
- android studioでjavaを触って簡単なクイズゲームを作ったくらい。
- paizaではpythonを使っていますが、この時の時点ではまだ何も知らない。
- 基礎的な数学知識(高校数学)は抜けていて、かろうじて中学数学を覚えてるぐらい。
- アルゴリズムやデータ構造は聞いたことあるぐらい。(使ったことはない)
最初の一週間
progate or paizaラーニング
まずはC++ , python , javaあたりを学んでみてください。
もし使い慣れていて、標準のライブラリを使いこなせるレベルなのであればこちらの言語でなくても大丈夫です!
しかし上記の言語のほうが回答が多いので、上の三つがおすすめです。
簡単な標準入力、標準出力、配列なんかを体系的に学ぶにはprogateがおすすめです。(大体半日~2日で終わる量です)
一か月だけpaizaの有料プランに課金する
課金する目的としては以下の通りです。
- 一か月という期間を設けることでその期間までに目標とするランクに到達することを強制的に強いる。
- 無料版では問題集の回答例を見るための学習チケットが必要になり、数に限りがあるため
それ以外にも課金することで利用できるサービスもありますが、僕自身はあまり使わなかったです。
Dランク獲得ストーリーand Cランク獲得ストーリー
paizaのDランク獲得ストーリーとCランク獲得ストーリーを講座から学んでみてください。
どちらとも無料で取り組めますので、こちらを行ってから課金してもいいかもです。
因みに両方で約80時間で終わると書いてありますので、一週間で終わらせれると思います。
一週間目~二、三週間目
Cランクスキルチェックに挑戦
ある程度講座(条件分岐、配列、for文etc..)を解けていればできると思います。
Bランク獲得ストーリー
こちらは一部有料なので課金してからがおすすめです。
Bランクになると回答例がjava,python,C++がほとんどなのでほかの言語でやるとここで回答に困ると思います。
ここは約80時間で終わると書いてありますが、プログラミング初心者かつ、数学の知識がない人は全部やるとこれ以上かかるかもしれません。
因みに僕はここの累積和で挫折しかけました...
解説をよんでもわからなかった場合書籍やブログで調べたりするとプログラマーとしてのサーチ能力が上がるので意識していきましょう。
毎日スキルチェック(Cランク)
Bランクの講座を解いていると、Cランクは問題なく解けてくると思います。
無理がない程度でコンスタントに取り組んでいきましょう。
四週間目
Bランクの講座をやり終えたらBランク・スキルチェック見本問題セット、Bランク・スキルチェック過去問題セットを解いてみましょう。(目安としては、難易度が1500あたりが解けるのがベスト)
Bランクスキルチェックに挑戦
僕の山勘としては先ほど学んだアルゴリズムは使わなく、配列と連想配列なんかをつかえていれば解けると思います。(標準ライブラリを使えるようならより簡単になると思います。)
よりアルゴリズムを学ぶために書籍で勉強
Bランクを獲得したらAランクを獲得するためのアルゴリズムをより体系的に勉強する。
おすすめとしては以下です。
- 問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本(数学知識がない方におすすめ)
- 問題解決力を鍛える!アルゴリズムとデータ構造
- アルゴリズム実技検定 公式テキスト[エントリー~中級編](pythonで書かれてるため、pythonユーザーおすすめ)
終わり
ここまでが僕のやったことです。
正直Bランクになるためアルゴリズムはいらないし遠回りした感じはありますが、Aランクをめざしているひとにとっては無駄ではないのかな、と思います。
あと、ここまで書いてなんですが、習得時間や容量なんかは人それぞれです。他人と比較して一喜一憂するのではなく、個々人の目標に向かって黙々とやるのが一番だと思います。モチベーションの維持として、友達と取り組むなんかはいいと思います。
ぼくもこれからアルゴリズムの勉強を継続したいと思いますので、何かあれば記事にしたいと思います。