Swift教室 Swift と競技プログラミングの教室

Part 2

処理を組み立てる

文法を知っていることと、処理を組み立てられることは別の力です。

ループ・配列・再帰を組み合わせて、複雑な処理を自分で設計できるようになります。 最後に、プログラムの速さを見積もる「計算量」を身につけます。

  1. ループの設計 ループを 1 回分から組み立てる 3 手順と、集計・探索・最大値の頻出パターン。
  2. 多重ループ 2 重ループで全ペアを列挙する。break が効く範囲とラベル付き break。
  3. 多次元配列 配列の配列でグリッドを表す。定石の作り方と、グリッド入力の読み方。
  4. 値型と inout Swift の配列は値型で、代入も関数渡しもコピー。書き換えたいときの inout と &。
  5. 再帰関数 自分自身を呼ぶ関数。基底ケースと再帰ケース、呼び出しのトレース、スタックオーバーフロー。
  6. 計算量 O 記法で実行回数を見積もり、制約から解法を選ぶ。TLE を体験する演習付き。