質問: 題名のとおりです。 プログラミングをRubyで初めて楽しく学んでいる段階です。 しかしどうにもこうにもアルゴリズム系問題が苦手です。 思えばSPIや中学数学、小学校受験算数的な問題も苦手でした。 paizaなどの問題をやろうにもDランクレベルの問題で全く解き方が思いつかない、ということばかりです。 そこでなのですが、アルゴリズム系の問題を解く能力を付けたいと思っています。 0からの状態でも学べるようなおすすめのwebサイト、または書籍、また助言など頂けるとありがたいです。
回答: アルゴリズム系の問題が解けるようになるには、 サイトや書籍で勉強することも大事だとは思いますが、普段の取り組み方が一番大事だと思いますよ。 * プログラミングをする前に何をプログラミングするのか「フローチャート」などを書いて、処理の流れなどを理解した上でプログラミングしていますか? * 実際に書いたプログラムとフローチャートを比較して確認したりしていますか? * 何かわからないことがあった場合に、何がわからないか他の人にきちんと説明できますか? 私の周りにもアルゴリズムを考えられない人や生産性の低い人がいますが、そういう人は大体、上記の作業をやっていません。 ソースコードしか見ずにプログラミングをして大体失敗しますし、ノートもほとんど意味がない内容ばかりメモを取っています。 アルゴリズムを考えられるか否かは、物によっては数学的な素養がないと難しいかもしれませんが、それ以外のものは「論理的に物事を考える」「自分が考えていることを整理整頓する」「物事を順序立てて考える」「自分がやったことをきちんと振り返る」と言ったことが日常的にできてる人であれば、ある程度経験を積むことで能力は向上すると思いますよ。