ABC157-C Guess The Number
今回は、ABC157-Cの自分なりの考えをまとめていきます。
【問題要約】
以下の条件1,2を満たす0以上の自然数が存在すればそれらのうち最小のものを、存在しなければ-1を出力せよ。
- 十進法でN桁(先頭に0はつけない)
- 桁目はである。
【条件】
・入力は全て整数
・
・
・
・
【入力】
N M
【考えたこと】
3桁以下の自然数なので、1 ~ 999を全探索して 2 の条件を満たしたところで探索を終了すれば良い。 確かめたい数字を とすると、 の 桁目 をすべての条件について確認する。以下は実装手順。
- とする。
- 1 ~ 9, 10 ~ 99, 100 ~ 999までのループをNに合わせて行う。(とする。)
- として条件1 ~ M までループを行う。
- 条件を満たしたら とする。満たさなかったらbreak
- となったらすべての条件を満たしたことになるので、として、最初のfor 文からbreak する。
- を出力する。
【コード】
#abc #300点問題 #茶色 #全探索
AtCoder復習 A問題 184-170
184 - 170のA問題を解きました。
基本的にはそのままコードを書けば良いのですが、いくつか工夫して書いている回答があったので、自分のコードと比較して公開します。
184 ~ 176、174、172:そのまま
175:A - Rainy Season
【 自分の解答】
全パターン書き出す。
【模範解答】
'RSR' の時だけprint(2)
残りはRの数を数えれば良い。s.count('R')。
173:A. Payment
【自分の解答】
N < 1000、N % 1000、N >= 1000に場合わけする。
【模範解答】
(1000 - N) % 1000
N % 1000で下3桁を求められる(N < 0でも正の値が出る)
171:str.islower
【自分の解答】
a,b,c,d,e == 0をif文で(すごく効率悪い)
【模範解答】
①index(0) + 1
②15 - (a + b + c + d + e)
自分がいかに効率が悪いかA問題だけでも十分自覚しました。
At Coder始めました。
初めまして。
At Coderを始めたので、過去問のメモ変わりにBlogを始めました。
最初の記事として、これから茶色を目指すための練習方法をメモしておきます
・AtCoder Problemsの過去問のうち、茶色以下の問題を解く(ABC184 ~ 下っていく)。
・回答を数式的に理解し、その内容をBlogにメモする。
以上となります。
来年度までに茶色に上がればいいなぁ。。。