DD

夢日記

【AtCoder】ABC001~010 B問題の巻

【001】


ゼロパディングの手法が学べる。入力がmなのが少し面倒くさい。

【002】

複数の文字を指定して置換するtranlate()メソッドを学習できる。

【003】

二つの文字列を一文字ずつ比較した時に、互いが異なるものであった時、

その文字の組み合わせありうる組が入った"@a@t@c@o@d@e@r@"という

文字列のなかにその組み合わせが入っていなければex)(@,a)(a,@)などでないのなら

You will lose と出力すれば良い。

 

【004】

リストの要素として受け取ったものを逆順から見ていき、逆から出力した。

回転の手法が学べる。

【005】

もっとも数字の小さいものを返せば良い。

【006】

3つ前までの数字を足したものなので、注目するのは3項で良いと考えた。

a,b,c=b,c,(a+b+c)%10007 と置けば解くことができた。

 

【007】

 

文字列がaの時はそれよりも辞書順が早くなる単語は存在しないため-1,

それ以外の時はaを出力すれば良い。

 

【008】

リストの要素として入力を受け取り、collections.Counterのmost_common()を使った。

 

【009】

文章がちょっと長いけれど、2番目に大きい数字を出力すればいいだけ。

一番目が重複している場合対策でsetで受け取ると良い。

 

【010】

ヤンデレな問題。花びらの枚数の制限がきついため、実際に書いてみてその枚数ごとにどのように毟ればいいかを確認して実装した。もっといい方法もありそう。