まず1変数ずつ追う
合計・最大値・文字・桁・単純なソートで、表に書けば解ける感覚を作ります。
答えを暗記せず、「何を見るか → 表に書く → 1周進める → 止める」を身につける練習です。
※ ログインしていない場合、解答ログは保存されません。問題自体はそのままプレイできます。
まずは答えを出さなくてOK。疑似言語を1行ずつ進め、変わった値だけをトレース表へ書きます。
難しい問題へ飛ばず、同じ読み方を少しずつ広げます。正答率70%未満は復習対象です。
合計・最大値・文字・桁・単純なソートで、表に書けば解ける感覚を作ります。
探索範囲、累積値、複数変数を、更新前と更新後に分けて追います。
再帰、キュー、DP、集合、分割・結合を、小さな状態へ分解します。
隣接要素を比較して交換するバブルソートのアルゴリズム穴埋め。
未ソート部分の最小値を選んで前に持ってくる選択ソートの穴埋め。
ソート済み部分に1要素ずつ挿入していく挿入ソートの穴埋め。
ピボットを基準に左右へ分ける条件と交換範囲を確認する問題。
整列済みの二つの配列を小さい順に作業用配列へ結合する問題。
値の範囲が狭い整数列を count 配列で整列する線形時間ソートの問題。
for ループで累積和を求める基本問題のトレース。
3変数を回しながら値を更新するパターン。フィボナッチに似た漸化式のトレース。
while ループで剰余を取りながら最大公約数を求める典型問題。
整数除算と剰余で桁を取り出し反転させるトレース。
配列要素を順に比較して最大値を求めるトレース。
整列済み配列で left/right/mid の変化を追う探索問題。
prefix 配列を使って区間合計を一発で求めるトレース問題。
push/pop 相当の増減から括弧列の最大深さを求める問題。
キューに入る順序を追って BFS の訪問順を求める問題。
階乗関数の再帰呼出しと終了条件を追う問題。
文字列を先頭から走査して指定文字の件数を数える問題。
前の結果を使って階段の上り方の数を求める初級 DP 問題。
union 操作後に残る連結成分数を考えるデータ構造問題。