投稿の記録を残す

zenn.devへ投稿するための各種記録

ABC-046~050[A・B]へのリンク

zenn.devに投稿している解答例のうちABC-046~050[A・B]へのリンクを簡単な補足とともに貼っておきます。

ABC-046

A - AtCoDeerくんとペンキ

配列に格納したペンキの色の重複を取り除いてから個数を数えればいいですね。 今になってみるとわざわざlist()を使わなくてもset()のままで個数は出ますね。

B - AtCoDeerくんとボール色塗り

最初の1個はK色の中から選択できますが、それ以降は直前に選択した色を除いたK-1色から選ぶことになります。 ということでボールが1個の時はそのままK、それ以外の場合はK * (K - 1) * (K - 1) ...となりますが、ループではなく以下のようにした方が良かったかもしれませんね。

    print(K * ((K - 1) ** (N - 1)))

ABC-047

A - キャンディーと2人の子供

3つのものを2つに分けて同じ数にするわけですから、一番大きい数とそれ以外の2つの合計が同じになればYesとなります。

B - すぬけ君の塗り絵 2 イージー

指定された長方形を配列mで作成して1で埋めます。 あとは入力データにしたがって配列m内を0でクリアしていき、最終的に1のまま残った要素の数を数えれば答えが出ます。 何となく冗長な気もするので、もっとスッキリした方法があるのかもしれませんね。

ABC-048

A - AtCoder *** Contest

入力された3つの文字列の先頭の1文字を結合するだけですね。

B - Between a and b ...

a // xb // xの差を求めればいいのですが、a自体は対象に含まれるので実際にはa-1を割ることになります。 また、a0の場合は例外的にb // x0の場合の1個を足します。

ABC-049

A - 居合を終え、青い絵を覆う

母音の配列を用意してその中に入力文字があるかチェックしています。

B - たてなが

入力されたデータを2回ずつ出力するだけです。

ABC-050

A - Addition and Subtraction Easy

入力された演算子+-)によってbの正負を決め、その上でabを足し合わせています。

B - Contest with Drinks Easy

ドリンクごとのデータを元に所用時間tの合計から短縮できる時間(負数)を足して調整しています。 今考えるとadjust関数の計算を逆にして調整する時に減算した方がわかりやすかったかもしれませんね。

拙文失礼いたしました。