0.はじめに
AI関連の規定が変わったようですが、まぁAIの使用は
私の目的とは異なるので使うことは無いかなーッと思いつつ参戦
Cでブレーキがかかりつつ、Cまでしか解けなかったので
成績が伸びず、レートも-28と落ちてしまいました。
1.A - 123233
リストを用意し、最初は1用、2用、3用と3種類だけでいいと思いましたが
Nに現れる値をそのままインデックスにするとスタイリッシュ(?)にできるかなと
思い、リストLのN[i]番目の値に1加算とかやって、最後に、リストLに、1,2,3の数を
見ると、しました。
提出したところ、何を思ったか、リストLを7個分しか用意していなかったため
REに。考慮がたりず、余計なところで時間を食ってしまいました。
https://atcoder.jp/contests/abc380/submissions/59834092
2.B - Hurdle Parsing
文字列を数列に変換する問題。
あまり難しいポイントもなく
文字列を見ていき、-だったらカウントをアップし
"|”だったら、回答用リストにカウントを追加しカウントクリア
最後にリストを出力して終了としました。
https://atcoder.jp/contests/abc380/submissions/59839218
3.C - Move Segment
馬鹿正直にやらなければ、TLEにはならないかなーと挑んだところ
TLEを鞍って嵌りました。
0と1の固まりをリスト入れて、入れ替え対象の固まりは入れる順番を前後させる方式で
実装してみたところ時間が足りず工夫をしてもダメ。
最終的にリスト化とかが時間食っていると気づき、以下の考えで実装
【考え方】
・以下アドレスを求める
・j:K-1個目の1の固まりの次の0の固まりの先頭
・k:K個目の1の固まりの先頭
・l:K個目の1の固まりの次の0の固まりの先頭
・答えはS[:j]+S[k:l]+S[j:k]+S[l:]となる
カウント用の処理と、1回の文字列操作だけなのですっとACいただけました。
https://atcoder.jp/contests/abc380/submissions/59861839
以上