AtCoder: ABC252 (Swift)

A - ASCII code

  • asciiValueは知っていたから、逆はないかなと検索
  • Unicode.Scalarに行き当たり、それを使って実装
  • ユニコード周りのコンセプトとかを確認した
  • SwiftはString周りの扱いづらいのがもったいない

提出

B - Takahashi's Failure

  • 競技プログラミングをやっていると計算量の最適化とか考えてしまうけれど、B問題だし、その誘惑に惑わされないようにした
  • 最大値を求めて、それらの位置を集めて、それが嫌いなものに該当しないか、素直に解いた

提出

C - Slot Strategy

  • 最初、問題が頭に入ってこなくって、戸惑った
  • 計算量を意識しすぎて、結果的に難しく考えすぎたかも
  • まだ、Cだし落ち着いて素直にといてもよかったのかもしれない
  • この問題はアプローチのしかたがいろいろあって、ほかの人のコードを読むと勉強になる
  • 参考にいろんな実装をしてみた
  • 最後に実装でArrayのmax(by:)メソッドを使ったのだけど、不等号の向きを間違えていた
  • min(by:)と向きは変わらず、左が小さい、右が大きい状態なるようにする
  • その上で、minなら一番左、maxなら一番右のものが選ばれる
  • またちょいちょいドキュメント確認することになりそう

提出

D - Distinct Trio

  • 組み合わせの問題だと思って、頭を切り替えられずに最後まで調べたりしつつ粘ってしまった
  • 切り替えられるようになりたい

提出

  • 未提出