題名の通り、AtCoder Beginner Contest 143に参加したのでその記録を残させてください。
はじめに
今現在Atcoder上での僕のレートは茶色です。
僕のレベル感としては、6問問題のABCにおいて、D問題が解けるか解けないか、程度です。
今回のABCでは、A, B, C問題の3完でした。。
下振れでかなり悔しいです。
ABC143の難易度
今回の正答率データは
A問題:99%
B問題:99%
C問題:98%
D問題:64%
E問題:45%
F問題:23%
でした。
C問題がどんどん簡単になっている気がしますね。
4問問題だった以前のABCのC問題が今現在のABCのD問題くらいのレベル感でしょう。
となると緑になるためには、4完が必要そうですね。
うーん、心が折れます。
各問題における僕の解答
A問題
A問題はやはり単純ですね。
Bの2倍がAより大きいかで場合分けをして、差を計算するだけです。
以下僕の実装。
A, B = map(int, input().split()) if 2*B - A > 0: print(0) else: print(A - 2*B)
B問題
題名かなり好きです。
たこやきフェスティバルの季節とは?!?!
これまた簡単で
2重のfor文で、全通り計算するだけです。
以下僕の実装
N = int(input()) d_list = list(map(int, input().split())) ans = 0 for i in range(N): for j in range(i+1, N): ans += d_list[i] * d_list[j] print(ans)
C問題
atcoder、スライムが題材の問題多いですよね。
出題者がドラクエ好きなんでしょうか?
これまた、正直簡単です。
C問題とは思えないです。
文の最初から探索していき、異なる文字を見つけたらカウントを増やしていくだけです。
N = int(input()) S = list(input()) ans = 1 for i in range(1, N): if S[i-1] != S[i]: ans += 1 print(ans)
D問題
3重のfor文の解答しか浮かびませんでした。
解答を見たら二分探索とのこと。
二分探索のアルゴリズム、学んだことないんですよね。。
これを機に、しっかり勉強します。。
D問題の傾向として、基本的なアルゴリズムがわかっているかが大事そうですね。
Dが解けなかった皆さん、一緒にアルゴリズムを勉強していきましょう。
最後に
かなり悔しい。
次は4完目指して、日々無理せず勉強に取り組んでいきます。