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

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

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

筆者の学習歴

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

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

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

・利用言語はPython3

・Pythonの利用は業務で少し

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

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

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

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

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

今週学習したこと

前回は4/30(土)にABCに参加しました。

5/8(日)の参加を忘れてしまったため、5/14(土)のABCに参加しています。

今週は他の資格学習をしていたことがあり、特に勉強はできなかったです。

学習内容

次の目標

茶色に昇級する。

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

学習内容

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

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

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

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

今週のABC

ABCに参加してきました。

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

abc251

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

abc251

ABC結果

AC:1問

パフォーマンス:206

レーティング:128→136

段級位:11級

結果

A問題

Six Chracters

長さが6の約数の文字列Sが与えられる。Sを繰り返して作られる長さ6の文字列を出力せよ。

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

s=input()
ans=""
cnt=int(6/len(s))
for i in range(cnt):
    ans+=s
print(ans)
B問題

At Most3

N個の重りがあり、以下の数nを良い整数と呼ぶ。

3個以下の重りを自由に選び、重さの合計がnになる。

W以下の数で、良い数はいくつあるか。

取り組みやすいように見えましたが、ACできませんでした。

制約的に、重りの選び方は3重ループで間に合うことがわかりましたが、「3個以下の重りの選び方」がわからず。

1個選ぶループ、2個選ぶループ、3個選ぶループ、とループを3回書けばよかったです。

 

感想

ABC251では、B問題までは解かなくてはいけなかったです。

来週学習すること

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

ABCの過去の問題も少しずつ解き進めたいですね。

Python bit演算超入門

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

コメントを残す

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