ウェブエンジニア問題集

BOOK / 全16

コーディングテスト突破ドリル

paiza・AtCoder・採用コーディング面接で出題されるアルゴリズム問題を、TypeScriptで解けるようになるための実践ドリルです。計算量の見積もりからデータ構造の使い分け、全探索・二分探索・貪欲法・動的計画法などの解法パターン、「問題文からパターンを見抜く」訓練、模擬テストまでを体系的に学びます。

16

88

読了目安

0円

すべて無料

目次(全16章)

  1. 01
    コーディングテストの全体像 — paiza・AtCoder・面接の違いと学習ロードマップ
    6
  2. 02
    計算量の考え方 — 「制限時間2秒」で何回ループを回せるか
    6
  3. 03
    配列と文字列 — 二つのポインタ・尺取り法・累積和
    5
  4. 04
    ハッシュマップとSet — 「探索をO(1)にする」発想
    5
  5. 05
    スタックとキュー — 括弧の対応付けからBFSの土台まで
    5
  6. 06
    木とグラフ — 隣接リスト・DFS・BFSの使い分け
    5
  7. 07
    全探索とbit全探索 — すべての解法の出発点
    5
  8. 08
    ソートと二分探索 — 半分ずつ捨てて O(log N) にする
    5
  9. 09
    貪欲法 — 「目先のベスト」を選び続けてよい問題の見極め
    5
  10. 10
    動的計画法(DP)入門 — 「表を埋める」だけと考える
    6
  11. 11
    グラフ応用 — ダイクストラ法とUnion-Find
    6
  12. 12
    パターン認識トレーニング — 「問題文→解法」の変換を鍛える
    7
  13. 13
    模擬テスト — paiza B〜S・AtCoder ABC相当の実戦10問
    8
  14. 14
    付録A: TypeScript環境構築 — ローカルで解いて提出するまで
    4
  15. 15
    付録B: スニペット集 — コピペで使う定番実装カタログ
    5
  16. 16
    付録C: 次のステップ — 緑から水色へ、そして面接本番へ
    5

この本で学べること

本書は、paizaスキルチェック・AtCoder・採用コーディング面接で出題されるアルゴリズム問題を、TypeScriptで解けるようになるための実践ドリルです。計算量(Big-O)の見積もりから、配列・ハッシュマップ・スタック・木とグラフのデータ構造、全探索・二分探索・貪欲法・動的計画法(DP)・ダイクストラ法・Union-Findといった解法パターン、「問題文からパターンを見抜く」訓練、実戦形式の模擬テストまでを16章で体系的に学びます。

なぜ学ぶべきか

コーディングテストは中途採用・新卒採用の選考で標準化が進んでおり、paizaのランクやAtCoderの色はスキルの客観的な証明として通用します。また、計算量を意識したコードが書ける力は、テスト対策にとどまらず実務のパフォーマンス問題の予防にも直結します。頻出パターンは限られているため、体系的に学べば効率よく得点力を伸ばせます。

前提知識

JavaScript/TypeScriptの基本文法(変数、関数、配列操作、ループ)を理解していることが前提です。不安がある方は先に『JavaScript入門』を読むことをおすすめします。数学は高校数学の初歩程度で十分です。

学習トピック

計算量とデータ構造

Big-O記法と「10^8回ルール」による見積もり、配列・文字列の頻出パターン、Map/Set・スタック・キュー・木とグラフの使い分けを学びます。

解法パターン

全探索・bit全探索、ソートと二分探索、貪欲法、動的計画法(ナップサック・LIS)、ダイクストラ法、Union-Findを実例で習得します。

パターン認識と実戦演習

「問題文のシグナル→解法」の対応20選と5ステップの思考手順で、初見の問題を分解する力を鍛えます。

模擬テストと環境構築

paiza B〜S相当・AtCoder ABC相当の模擬10問、TypeScriptでの標準入力処理、コピペで使えるスニペット集を収録します。

こんな方におすすめ

  • 転職・就活でコーディングテストを受ける予定のエンジニア
  • paizaのランクを上げたい方(Bランク〜Sランク)
  • AtCoderで入茶・入緑を目指す方
  • Web開発の経験はあるがアルゴリズム問題に苦手意識のある方

よくある質問

アルゴリズムの学習が初めてでも読めますか?
はい。計算量の考え方から順に解説しているので、アルゴリズムを体系的に学ぶのが初めての方でも読み進められます。JavaScript/TypeScriptの基本文法だけが前提です。
なぜTypeScriptなのですか?C++やPythonでなくても大丈夫?
本書が対象とするレベル(paiza S・AtCoder緑まで)では、TypeScriptの実行速度がネックになる場面はほとんどありません。Web開発でJavaScript/TypeScriptを使っている方が新しい言語を覚えずに始められることを優先しています。paiza・AtCoderともNode.jsでの提出に対応しています。
paizaのランクやAtCoderの色はどこまで目指せますか?
本書の範囲でpaiza B〜Sランク、AtCoder灰〜緑(上位10%前後)までをカバーしています。その先(水色以降)に必要な発展アルゴリズムは付録Cでロードマップとして案内しています。