【AtCoder10週目】競プロ初心者が6ヶ月で水色コーダー目指す学習記

Atcoderでもっと多くの問題を解きたい!と言うことで学習していきます。

期間は6ヶ月とし、水色コーダーを目指します。

筆者の学習歴

学習歴はこんな感じです。

まだまだ入門と言う感じですね。

筆者の競技プログラミング歴

・利用言語はPython3

・Pythonの利用は業務で少し

・学習は「みんなのPython」を読んだくらい

・ABCコンテストには数回参加した(解けるのは1〜2問)

競プロではC++を使う方が多いかと思いますが、筆者はPythonのシンプルさに感動したためPythonで取り組みます。

今日が2022年5月23日(土)で、9月20日までの半年の期間で学習を進めます。

毎週のAtCoder Beginner Contest(ABC)をペースメーカーにしていきます。

今週学習したこと

直近のABCのC問題を解いていました。

学習内容

次の目標

茶色に昇級する。

茶色昇級のため、目標を整理しました。

学習内容

・A・B問題を高速で解く(理想10分以内)

・C・D問題をどちらか解く

私は今、A・B問題を解くのに20分前後かかっています。

これを10分以内で解くだけでも、順位は1,000以上アップが期待できます。

今週のABC

ABCに参加してきました。

元のアカウントにログインできたので、前のアカウントで再開しました。

abc252

結果はこんな感じでした。

abc252

ABC結果

AC:2問

パフォーマンス:381

レーティング:136→155

段級位:10級

結果

A問題

ASCII Code

英小文字のASCIIコード(97~122)が与えられる。

ASCIIコードがNであるような英小文字を出力せよ。

ASCIIコードと、文字との変換に使う書き方を調べるだけです。

ここは3分9秒でACしました。

N=int(input())
chr_s=chr(N)
print(chr_s)
B問題

Takahashi’s Failure

N個の食品があり、列Aはそれぞれの食品の美味しさ、列Bは嫌いな食品の番号である。

美味しさが最大の食品を食べる時、嫌いな食品を食べる可能性があるかどうかを出力せよ。

まずA列から最大値をmaxで取り出します。

列Bのループを回し、最大値があるかどうかで判断しました。

ここは12分10秒で回答。

ここまでは15分ほどとまずまずのペースです。

N,K=map(int,input().split())
A = list(map(int,input().split()))
B = list(map(int,input().split()))
flag=0

saidai=max(A)
for i in B:
    if A[i-1]>=saidai:
        flag=1

if flag==0:
    print("No")
else:
    print("Yes") 
C問題

Slot Strategy

残り時間はこの問題に取り組みました。

考え方は良いと思い試行錯誤しましたが、16/32がWAとなりACできず。

感想

ABC252では、C問題よりD問題の方が取り組みやすかったです。

難しいと分かったら、次の問題に移る柔軟性が必要だと感じました。

来週学習すること

C、D問題以降も勝負できる様にするため、まずはbit演算と探索を練習します。

ABCの過去の問題も解き進めます。

Python bit演算超入門

【AtCoder】ビット全探索~ 問題まとめました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です