zenn.devに投稿している解答例のうちABC-042~045[A・B]へのリンクを簡単な補足とともに貼っておきます。今後も5回分くらいの単位でリンクを載せていこうと思います。
ABC-042
A - 和風いろはちゃんイージー
正解となる[5,5,7][5,7,5][7,5,5]
と比較して合致すれば「OK」とprintすればいいのですが、先にソートしてしまえば1回の比較で済むよってことですかね。
B - 和風いろはちゃんイージー
Aの問題と同様、ソートしてしまえば単純に結合するだけで答えは得られますね。 pythonを勉強し始めてすぐの時期だったので、文字列の配列を結合するjoinの使い方(結合子となる文字列を基準にすること)が結構斬新に見えた気がします。
ABC-043
A - キャンディーとN人の子供イージー
1~Nまでの合計を求められているので(1 + N) * N / 2
でいいのですが、除算の結果が小数になってしまったのでint()
で丸めた感じです。
今なら// 2
と書くでしょうね。
B - バイナリハックイージー
1文字ずつ取り出して以下のルールにしたがってバッファに移して最終結果をprintします。
- 取り出した文字が
B
の時→バッファの最後尾の文字を削除 - それ以外の文字の場合はそのまま結合
ただし、バッファが空の状態でB
が来た場合にエスケープする必要があります。
ABC-044
A - 高橋君とホテルイージー
K
泊目までとK+1
泊目以降の泊数をそれぞれの単価で掛けて両者を足せばいいのですが、トータルの宿泊数がKより短い場合を忘れるとWA
をもらいます。
B - 美しい文字列
前半で文字ごとの個数を数えて、その個数に奇数が検出された時点でFalse
、それ以外ならTrue
という判定をしています。
ABC-045
A - 台形
これは台形の面積の公式通りなのですが、2で割ると小数が返ってくるのでint()
で丸めた感じです。
ABC-043-Aと同様、こちらも今なら// 2
と書くでしょうね。
B - 3人でカードゲームイージー
A、B、Cさんを0~2として処理を行っています。
最初はAさんからなのでp=0
とし、それ以降はplay関数で次の手番の人を返しています。
手札がなくなった時点で解答をprintして-1
を返してカードゲームのループを抜けます。
2023年1月28日
拙文失礼いたしました。