問題が解けないときの進め方
Recursionには、easyとついていても手応えのある問題が多くあります。解けないこと自体は珍しくありません。
最適解で解く必要はありません
計算量を減らすことも、同じ処理を繰り返さないことも大切ですが、最初からそこを目指す必要はありません。
- 値をコードに直接書いてしまった
- 総当たりで解いた
- 同じコードを何度も書いた
こうなっても構いません。無理やりでも一度は自力で解いてみてください。アウトプットしているときが、いちばん身につきます。
進め方
問題を読んで、いきなりコードを書き始めないでください。まず日本語や図で、どう処理するかを書き出します。
具体的な入力を1つ選び、その手順で答えが出るかを手で追います。
追えたら、その手順をそのままコードにします。
それでも進まないときはヒントを読み、方向を確かめてから戻ります。
飛ばしてもよいか
解けない問題は飛ばしても、学習の進み具合には影響しません。時間を置いてから戻ると、あっさり解けることがあります。
ただし、その節の内容を理解しないまま先へ進むと、後の内容で行き詰まりやすくなります。飛ばした問題はお気に入りに入れておいてください。
他人のコードを先に見ない
コピーしてきた最適解を読んで理解しても、自分でロジックを組み立てられるようにはなりません。読むのは、自分で解いたあとにしてください。