# AtCoder: ABC252 (Swift)

- 3完
- [Ratingは微増](https://atcoder.jp/users/tockrock/history/share/abc252)

## [A - ASCII code](https://atcoder.jp/contests/abc252/tasks/abc252_a)

- [asciiValue](https://developer.apple.com/documentation/swift/character/3127002-asciivalue)は知っていたから、逆はないかなと検索
- [Unicode.Scalar](https://developer.apple.com/documentation/swift/unicode/scalar)に行き当たり、それを使って実装
- ユニコード周りのコンセプトとかを確認した
- SwiftはString周りの扱いづらいのがもったいない

### 提出

- [AC](https://atcoder.jp/contests/abc252/submissions/31837753)

## [B - Takahashi's Failure](https://atcoder.jp/contests/abc252/tasks/abc252_b)

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

### 提出

- [AC](https://atcoder.jp/contests/abc252/submissions/31843868)

## [C - Slot Strategy](https://atcoder.jp/contests/abc252/tasks/abc252_c)

- 最初、問題が頭に入ってこなくって、戸惑った
- 計算量を意識しすぎて、結果的に難しく考えすぎたかも
- まだ、Cだし落ち着いて素直にといてもよかったのかもしれない
- この問題はアプローチのしかたがいろいろあって、ほかの人のコードを読むと勉強になる
- 参考に[いろんな実装をしてみた](https://atcoder.jp/contests/abc252/submissions?f.Task=abc252_c&f.LanguageName=Swift&f.Status=AC&f.User=tockrock)
- 最後に実装でArrayの[`max(by:)`](https://developer.apple.com/documentation/swift/array/2294243-max)メソッドを使ったのだけど、不等号の向きを間違えていた
- [`min(by:)`](https://developer.apple.com/documentation/swift/array/2298201-min)と向きは変わらず、左が小さい、右が大きい状態なるようにする
- その上で、minなら一番左、maxなら一番右のものが選ばれる
- またちょいちょいドキュメント確認することになりそう

### 提出

- [コンテスト中](https://atcoder.jp/contests/abc252/submissions/31855597)

## [D - Distinct Trio](https://atcoder.jp/contests/abc252/tasks/abc252_d)

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

### 提出

- 未提出

