はじめに
インターンの選考にてはじめて「コーディングテスト」(コーディング試験)を課されました。
実は選考自体は途中で辞退したので、テストを受けるには至っていません。
しかし今後のためにも細々とコーディングテスト対策を続けることにしたので、
初手として行った対策を記してみようと思います。
Pythonで学ぶアルゴリズムの教科書 一生モノの知識と技術を身につける
という本を読んだので、今回はその話をしようと思います。
はじめての投稿です。
至らない点が多々あるかと思いますが、ご了承ください。
書籍の画像はすべてAmazonにて一般公開されているものです。
自己紹介・スペック
- 国立大学非情報系学部の2年生(6年制・30卒になるらしい)
- 軸の言語はPython
- バイブコーディング+手直し、で個人開発をする機会が多い
- 開発のアルバイトを始めたばかり
- AtCoderは3か月で挫折(もちろん灰)
SecHack365('25)トレーニーとして活動しています。
GitHubをフォローしてくださると励みになります
Pythonで学ぶアルゴリズムの教科書 一生モノの知識と技術を身につけるについて
概要(Amazonからそのまま引用しています)
本書はPythonを用い、ITエンジニアが身につけておくべき王道のアルゴリズムを手を動かしながら学べる入門書です。
教育機関で16年教鞭をとり、公式アプリ2000万DL超の開発実績を持つ廣瀬豪氏が、教育者・プログラマーとしての経験を生かし、データ構造とアルゴリズムの学習が「一生モノの財産になる」という視点で解説します。スタック、キュー、リスト、木、グラフなどデータ構造の基本から、サーチ、ソート、ハッシュといった王道アルゴリズムを厳選しつつ、ユークリッドの互除法、文字列探索、最短経路問題、フラクタル図形の描画、マンデルブロー集合などワンランク上の知識・技術まで網羅します。
サンプルプログラムは手入力しやすい短めのコードを108個用意し、すべての行に1行ずつコメントを付けて読解しやすいように工夫しています。また、ゲームクリエイターという肩書を持つ著者ならではの教材として、「アルゴリズムの可視化」という類書にはない楽しい要素を盛り込んでいる点もポイントです。
資格試験、就職試験に挑む方、大学や専門学校で情報処理を学ぶ方など、プログラミングの力を伸ばしたいすべての方におすすめです。
この本の良いところ
個人的な観点から3つぐらいに分けて書いてみます。
① なんといってもPython対応
世の中のアルゴリズム本は
C++専用 もしくは C++の端にPythonが書かれているものが多い印象があります。
したがってPythonのみで構成されているのは非常にありがたいポイントです。
② 図解が親切
コードだけを追っても理解があいまいな部分は正直あります。
そんなときに図とコードを1対1対応で照らし合わせることができ、すごく便利でした。
③ コードの1行1行に解説がついている
え~この処理どういう意味なんだろう…
みたいなところで悩む時間が少なく済んだと思います。
自分なりの本書活用法
① まずは読む
章ごとに分けて、まず4~5日ぐらいでザーッと読みました。
コードの解釈もそこそこにまずは図解を観察することを大事にしました。
② Geminiと壁打ち・類題を出してもらう
ちょっと手を動かしたいな~というときは
Geminiに類題を出してもらうようにしていました。
その過程で分からないことがあれば質問しつつ、この段階では自力で書き切ることに主眼を置いていました。
2時間/日ぐらいのペースで10日ぐらい掛かりました。
おわりに
いったんアルゴリズムの大まかな理解が進んだので、
次はAtCoderやLeetCodeを用いて実践的な練習を積んでいきたいと思います。
この2つ以外にもいいサイト・ツールがあればぜひご教示ください。
最後まで読んでいただきありがとうございました。