はじめに
ここにはAtCoderの記録を書いていく
目次
2024年3月
2024年3月3日
はじめて競技プログラミングを始めた。 選択した言語はJava。
- 候補
- Python
- Java
- C++
- 基準
- すぐに始められる
- 決断
- Java
- OCJPというJavaの資格を持っているから。
- Java
今日は通称鉄則本を呼ばれる本の購入とpractice contestで初めてコードを提出。 意外と自分がコードをかけないことに唖然とした。試験と実際のコーディングは違うということか。。精進する。
鉄則本→米田 優峻, 競技プログラミングの鉄則 ~アルゴリズム力と思考力を高める77の技術~
あと、次のQiita記事を参考にして学習を進める!わかりやすく要点がまとまっていたので。この記事の中で鉄則本が進められていたので購入してきたんですよねー。 文系大学生がプログラミング未経験から5ヶ月で入緑した話【AtCoder】
Javaでコードを書いてますが、下記のコードめっちゃ使う。いや、初めに書くといっても過言ではない。メモメモ。
Scanner scanner = new Scanner(System.in);
2024年3月4日
本日は次の問題を解いた。A02 - Linear Search。この問題は競技プログラミングの鉄則という本の中に書かれている問題。答え合わせなどはこのサイトからできる。ただし、書籍の回答はC++なので、Javaの解答例が欲しい。なぜかエラーが出る。。なぜだ。。
書籍の17ページにJavaの解答例が載っているという旨の記載が。。このサイト「E869120 / kyopro-tessoku 」を見たら、解答が載っているよ!しかも主要な言語に対応している!(C++, Java, Pythonの3つ)
PS. エラーを見つけて解決していくためのこの「コードが動かないので帰れません! 新人プログラマーのためのエラーが怖くなくなる本」の本に興味が出てきた。読んだら感想書きます!
ーー午後ーー
お昼ご飯を食べた後は下記の問題に取り組んだ!結構サクサク解けたし、同じ答えなのでうれしかった。
- 問題 A03 - Two Cards , https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_c
- 解答例 A03 - Two Cards, https://github.com/E869120/kyopro-tessoku/blob/main/codes/java/chap01/answer_A03.java
2024年3月6日
添え字が難しい。 A06。
2024年3月9日
時間(min) 25 + 30 + 40 + 60 = 155 6日目から学習方法を切り替える。ブログにまとめるのではなく、もうその場で話す方法に切り替える。 ランニング→朝食→競技プログラミングの鉄則の問題A06を復習。内容はイベントの出席者を効率的に数えることが出来るアルゴリズムの学習。ちなみに、累積和というアルゴリズムを使います!
競技プログラミングの鉄則A07を勉強した。A07 - Event Attendance, https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_g
アルゴリズムの概要は理解はしたので、それを書けるかどうかを試す。案の定、書けないのですが、、いいところまで行きました! 模範解答のコードと自分のコードを見比べて違う部分を見つける。 なぜ、模範解答はこう書いているのか?と自問自答すると答えが見えてくる。
サッカーがうまい人を見て、なんであんなに遠くにボールを飛ばせるのかな?そして、自分との違いはどこかな?観察と試行錯誤を通して、スポーツが上達していくのに似ている。
競技プログラミングをするならこの書き方をマスターしたほうがいいかも。書く量が減るので、少し早くなる。1秒でも相手を出し抜きたいときはためになるかも。
before
int x = 5; int y = 6; int z = 50; System.out.println(x + y + z);
after
nt x = 5, y = 6, z = 50; System.out.println(x + y + z);
2024年3月10日
今日取り組んだ時間
35min + 40min + 30min + 30min + 30min + 30min + コンテスト120min = 315min (min = 分)
取り組んだアルゴリズム
- 二次元累積和
- 二分探索(後半の30分ちょろっと)
最初に前日の復習をするようにしている。復習方法は、問題を開設など、何も見ずにはじめから解くという方法をしている。理由は、記憶への定着とサクサク進む感じを楽しむため。できない、できない、が続くと萎える。簡単な問題で、「お、自分出来るじゃん!」ってなってから、難しい問題に取り組むことで、粘り強く取り組めている。
あと、どの問題をどのくらい復習したかとか、進捗が見えたほうがやる気が上がる感じがするんですよね。なので、表を作って管理しています!具体的には、こんなかんじのをスプレッドシートで作成。問題を解いたり、理解したり、したら書き込んでいく!
増減の累積和https://qiita.com/drken/items/56a6b68edef8fc605821の時は配列を[要素 + 2]しないといけない。増減の表というか配列を作るときにミスしちゃう。なぜなら、+1しているからね。(わかりにくい説明でごめんなさい。備忘録として書いているのであしからず。) !説明に再挑戦!(後日記入!将来の自分!忘れるな!)
難しい問題で悩んでいるときは図を書くと分かりやすい。コードを読んだだけでアルゴリズムが一度で理解できる初心者なんていない。それに、プレゼンテーションでも図や表、グラフ、挿絵があったほうが断然わかりやすい。だから、理解度を深めるために、図を書こう!
皆さん、今日、私が取り組んでいた問題を知らにままここまで読んでくださったことでしょう。種明かし。取り組んでいた問題は、競技プログラミングの鉄則 演習問題集 A08 - Two Dimensional Sum。二次元累積和のアルゴリズムを使って解く問題です。二次元累積和が使える問題は、以下の特徴があるとき!
- Max, Minを求める
- 合計や範囲内の合計を求める
- 範囲って言葉が出てくる
競技プログラミングの鉄則 演習問題集 A08 - Two Dimensional Sumを実装した後、競技プログラミングの鉄則 演習問題集, A09 - Winter in ALGO Kingdom に取り組み、制覇!これからはこの問題を何も見ずに、歩くように無意識で解けるようになるまで繰り返そう。
この問題のポイントというか、累積和のアルゴリズムをコードに変換するときに私が沼ったポイントは以下のポイント。
- 要素が何個の配列を作るべきか
公式の回答だと大体 N + 1だったり、N + 2だったりする。N + 2にしておけば何とかなる。
Javaの場合、グローバル変数を作るときは「static」をつけてmainの外で宣言する。いろいろとグローバル変数にしないとめんどくさいことがあるので。例えば、次のコードとか。(単純な二分探索のコード。Xは配列の何番目にあるかを出力する)
import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); X = sc.nextInt(); A = new int[N + 1]; for (int i = 1; i <= N; i++) { A[i] = sc.nextInt(); } int answer = search(X); System.out.println(answer); } // ここがグローバル変数 static int N, X; static int[] A; static int search(int x) { // ここでNを使うのでグローバル変数が必要 // Nをmainの中に書いちゃうと、seach(), ここでNが使えなくなっちゃう。。。Javaの文法的な話です。 int L = 1, R = N; while (L <= R) { int M = (L + R) / 2; if (x < A[M]) R = M - 1; if (x == A[M]) return M; if (x > A[M]) L = M + 1; } return -1; } }
2024年3月11日
まずは昨日のコンテストの 感想 から。昨日はAtCoder Regular Contests, ARC 173https://atcoder.jp/contests/arc173に参加した。マジで難しくて1問も解けなかった。悔しい。後で 難易度を調べたら、まあまず 初心者がやるべきでないということがわかった。「ちょっと 俺も行けるじゃん」って思ってた、その気持ちがへしおられるぐらいの難易度である。でもまだまだこれから。だってまだ始めたばっかりだもん!
昨日の苦い記憶の振り返りはこのくらいにして、今日 取り組んだ内容を話していこう。今日は会社 終わりにカフェでこのブログで何度も言っている鉄則本を使って、二分探索としゃくとり法を学んだ!読んでた時は本当 さっぱりわからなかったけれど、帰りに歩いていたら、ひらめいて、突然理解が深まった。『逍遥』(「しょうよう」と読む)とは、「あちこちをぶらぶら歩くこと。散歩。そぞろ歩き」である。ちなみに、逍遙学派(しょうようがくは)、またはペリパトス派と呼ばれる哲学者たちがいた!アリストテレスを中心とした人たちである。何故、このように呼ばれたかというと 彼らが歩きながら 講義を行ったからである。昔の頭が偉い人たちは歩きながら考えていたのだ。この話をふと思い出した。今日この頃である。
要するに、歩くの大事!!健康にもいいしね。
2024年3月14日
昨日は朝帰り。大阪で飲んでいました。後輩が遊びに来てくれていたんですよねー。なので、始発で帰りました笑笑。始発の電車で本を読んだのが今日の勉強成果です!時間的には20分くらいだった気が。。眠たくて覚えていない。。内容も。でも、ざっくりとでアルゴリズムのイメージがつかめたのが大きかったかな。次に読んだらもっと理解が深まりそう!
あと、今日の教訓としては、環境で人の行動は変わるってことですね。急にどういうことって思ったと思うんですけど。例えば、みんながやってるから、みんながスマホ持ってるからほしい。ゲーム持ってるからほしいとか。意外と環境で行動って決まるよねって改めて電車の中で実感したんですよ。普段、電車の中だとスマホをいじって、気がついたら駅についているみたいな感じじゃないですか。(高校生のときは、電車の中で英単語を勉強するぞ!って息巻いていたけれど、できなかったあれ笑)でも、今朝はスマホの充電が切れていたんですよね〜。だからすること無くて、鉄則本を読んでいたってわけです。眠たいながらも。ここで学んだことは、環境で(今回の場合はスマホの充電が切れていた)、行動(今回は読書)につながるんだな〜って。てことは、環境をいじればある程度行動はいじれるとも言える。
偉そうに語ってますが、メンタリストDaiGoさんの「人を変える」シリーズをみて、その中の知識を実際に使ってみただけなのですか。。やはり強力的でしたね笑。いつもお世話になっております。今後ともよろしくお願いします🙇。
ではまた。
2024年3月15日
ちょっとコード書いた。累積和を使う問題の復習!前といた問題だったけど解けなくて悔しかった。萎えた。 ういす。では、また。(急に萎えすぎ笑)
2024年3月16日
本日取り組んだ時間
45分 + 30分 + 60分 + コンテスト100分 = 合計235分
今日は土曜日。なのでいつもどうり懸垂とランニングをした後にご飯を食べ、前回の復習からスタート! 午前中はAtCoder Beginners Selection の問題2問復習と一つ新しい問題を解きました!皆さんもご存じの通り、鉄則本という本も並行して取り組んでいるんですけど、そこで出てきたアルゴリズムが使え、進研ゼミで見たことあるやつだみたいな感覚になりました笑
一つ今思ったのが色々な解答例を見ると理解が深まるということ!問題を違う観点で考えられるからかなと思います。あとは自分が思いつかなかった方法を誰かがやっていたら、それを取り入れたらまた一つ自分のレベルが上がるっていうことでもあるかなと。
2024年3月17日
本日取り組んだ時間
60 + 60 + 60 + 60 = 240min = 4 h
途中でカラオケとか散歩したりとかメンタリストDaiGoさんの話を聞いてリフレッシュできたな!だから集中力高くできた気がする途中でリフレッシュ時間を入れてから取り組むといい感じ!
今日はこれまでの振り返りを行う
やったこと
- 電車の中で鉄則本を読んだ
- コンテストに参加
- 飲み会が多かった→充実してた
- コンテスト中に友達から電話がかかってきた。早めに切り上げた。楽しかったね。笑
- コンテストで最後まで粘り強く、問題を解いた。
- コンテストの成績としては、2完だった。 ※2完 = 2問問題を解くことが出来た! ということ
- 強くなるためには?みたいなQiita記事を読んだ
分かったこと
- スマホを触っている時間をアルゴリズムの本を読むことで少し勉強時間に使えるということ
- 読んだだけでは問題を解くことはできない
- 復習として問題を解いたら解けない問題もちらほら
- 入茶するまでにみんなこんなことをしている
- コンテストに出まくる 10回以上
- 問題を解きまくる A, B問題
- +C 問題を解く (アルゴリズム的な部分が重要になってくる)
- 到達点としてはコンテスト中にA, B, Cが解けるようになっている
次にやること
- 計画を修正 アルゴリズムの本を解きながらーって思っていたんですが、まずはA, B問題を解くことに専念する
- 鉄則本の勉強は1週間に1問から2問する → 鉄則本の基本的な内容★3までが出来たらC問題の過去問に果敢にチャレンジ!
- 取り組むときに前回書いた問題のコードを書いて、復習
今日やることメモ
前日の振り返り
昨日書いたコードを今日も書く
コンテストの復習 A,
B問題
* Beginners Selection を解く
Beginners Selection を解かずに、二分探索の勉強をしていた。。まあ、こっちに興味があったからね。アルゴリズムの基礎を学べているということで良しとしよう!
2024年3月19日
ニ分探索の練習。だいぶ スラスラと書けるようになってきた!最後の爪が甘くて、ミスしちゃってるね。ミスしているポイント、箇所としては、インデックスを間違えていたり、区間( >= なのか > なのか)を間違えていたりする。あと今、自分はJavaで書いてるんですけど、型を間違ったりする。問題設定的、 ここは int 型よりも long 型の方が適しているのに、int 型 でコードを書いちゃってる。
次も頑張ろう!
今回のブログでは、失敗したところを記録してみました。メンタリスト DaiGo さんが紹介してくれていた 論文 によれば、一流になる人は自分の失敗を記録しているそうです。その失敗を記録するのって自分の失敗を認めることになるし、ブログに書くと それが公開されることにもなって色々とハードル高いなぁとか って思っていました。でもその方が後々見返せるし 絶対に ここを乗り越えてやろうとやる気が起きるんですよね。
まというわけで今回は自分の失敗について書いていました。これからちょくちょくこういう ミスした ポイントとか出てくると思うので、学習の際の参考にしてください!
m( )m
2024年3月21日
朝の6時30分に目が覚めたので、 30分間だけ前回の復習した。でも意外と書けなかったのが悔しいなあ。その後なんとか思い出させてとけて嬉しかった。今日はメンタリストDaiGoさんの放送でイメージトレーニングは本当の練習と同じぐらい効果があるよっていうことを知った。ただし自分ができるようになってからに限るが。という内容だった。だから今日書けるようになった内容を頭の中でイメージトレーニングをしていたらどんどんどんどんスムーズに書けるようになっていくっていうことだろう。駅で待ってる間とかにイメージトレーニングをしてみよう。
2024年3月23日
今日やりたいこと
* これまでのコンテストの復習 3問
* Beginner Selectionの問題を解く 1問
* Beginner Selectionの問題を復習 1問
9時から30分の間の記録 下記の問題に取り組んだ!まずはコンテストの復習1問制覇!
9時45分からの30分で取り組んだこと 下記の問題2問に取り組んだ! これまでのコンテストの復習 3問 と上記に書いているが、復習する問題そんなになかった(笑)。なので、Beginner Selectionを1問とコンテストの復習1問。今回の良かった点としてはラバーダッキングっていう方法を使ったことですね。この方法はお風呂の上に置いているアヒルちゃん人形に自分が考えていることやそのプログラムのことを説明するという方法です。メリットはひとりでできること、プログラムのミスに気づきやすいってことですね。ちなみに、こうやって口に出すことによって自分の考えを俯瞰することができ問題解決につながるのだそうです。なのでこれからもプログラムを書くのに困ったらこれをやってまいります!
お昼から 16:00くらいからの40分
今日気づいたことはcopilotとかChatGPTにC++のコードをJavaのコードに変換させたらいいということに気がついた。マジで、早い。 下記の問題に取り組んだ!
2024年3月24日
今日やりたいこと
昨日の振り返り昨日のコンテストの振り返りC問題を写経と理解*A問題を写経と理解B問題を写経と理解AtCoder Beginners Selectionの問題 1問の復習AtCoder Beginners Selectionの問題 1問の復習AtCoder Beginners Selectionの問題 1問目の実装AtCoder Beginners Selectionの問題 2問目の実装AtCoder Beginners Selectionの問題 3問目の実装- もし10分間くらい考えてに詰まったら答え見ちゃおう。
昨日の振り返り
出場したコンテストはこちら。
B問題で詰まった。そのままC問題に行けばよかったのに、行かなかったな。学校のテストなどにあるように解ける問題から解いていく戦法が有効だと思われる。
後は、今日、Setを使う問題をせっかく解いたのに、C問題でそれを活かせなかったのが少し悔しい。(終盤に10分間だけ取り組みました。申し越し時間をかければ解けていた気がする。それか惜しいところまで行けていた気がする。)
公式が出してくれているYouTube(長めの方)、わかりやすい!ありがとうございます。次からも分からないときはこの解説を見よう!
午後からはやる気が少し出ないなって思います。でも、そういう時は自分の場合は、ご褒美で釣れば、何とかなる(笑)
例えば、1問解いたらシュークリーム食べられるよとか。だいたい、シュークリームをご褒美に設定したらうまくいきますね。シュー最高。
基本的に問題を眺めて解法が本当に思いつかなかったら(自分の中でわ十分位)、もう解説を見て写経しちゃいます。その後にどこでつまずいているのか、次に生かせるポイントは何か、など次に向けての対策を考えるようにしています。理解して次の対策っていう感じですね!
2024年3月26日
今日は朝の15分と夜の20分の合計35分の取り組み。 少しずつできることが増えてきている。ちなみに、この日覚えたのは、文字列を反転させる方法da.
後は、今日この名言にぐっときた。
小さなことを積み重ねることが、とんでもないところへ行くただ一つの道 ”イチロー選手”
文字列の反転
Scanner scanner = new Scanner(System.in); String S = scanner.nextLine(); S = new StringBuilder(S).reverse().toString(); System.out.println(S);
ほんま小さな積み重ね。明日も積み上げます。
2024年3月30日の勉強記録
やりたいこと
AtCoder Beginners Selectionの復習1問AtCoder Beginners Selectionの復習1問友達との勉強会で新しい問題を解く- コンテスト参加、https://atcoder.jp/contests/abc347
ちょっと遊ぶ。なんかしよー。AtCoder Problemで過去問を解きました!復習するだけよりも楽しいですね!あと、自分の力、レベルと同じくらいだったのが良かったかもですね。
in カフェにて
過去のコンテスト問題復習 2問
今日はここでビギナーズセレクションの問題が全部終わりました!まだまだ復習はやっていきますが、1つ切りですね。今日のコンテストもやるぞー!おー!
追記
自分の言葉でメモをとるのと、自分でイメージトレーニングするのが効果的な気がしてきました。柔道やってたんですけど、柔道でもイメージトレーニング大切でしたしね。強くなるにはイメージトレーニング欠かせないかもです。
2024年4月
競プロに取り組み始めて約1か月ですか、、振り返るとなんだか感慨深いですね。
2024年4月1日
朝早く目が覚めたので昨日のコンテストの復習をしました。復讐した問題はC問題のでした。C. Ideal Holidays。
解法がYouTubeを見てざっくりとわかりました。本当にわからない問題はユーチューブを見た方が理解が進みますね!
2024年4月2日
2024/04/03、この日記を書きます。昨日の振り返りです。昨日はバディとの目標レビューでした!なにするかっていあと、目標と計画をお互いに紹介していき、それの進捗報告会です!進捗が思わしくなかったら、修正方法も一緒に考えていきます。これをすると目標の達成率が跳ね上がるらしいんですよね。ゴール・バディと呼ばれている方法です。
ものは試しです。やっています。
今回ゴール・バディをやっていてよかったと思ったのは ①自分の進捗の遅れを受け入れて、②次の対策を取ることができたことですね。
①自分の進捗の遅れを受け入れて 今の私のバディは親友なわけですから、親友がちょっと遅れているよねって言ったら、まあ、認めざるを得ないですよね いやでも。笑。
いい意味で現実を直視させてもらっています。
②次の対策を取ることができたこと なかなか自分の行動を変えるのって嫌だと思います。特にうまくいっていない時って それを認めたくないので。でもバディの前なら仕方がない。やるか。
今回 取る 対策としては、 1、帰宅した後に15分 プログラミングをすること 2、通勤電車に乗った後、過去にといた問題の復習をすること 3、食堂でご飯を食べた後に、1問、問題を復習すること
今までは1の対策しかしてなかったんですよね。(休日はもっとやってます。自己弁明です。)ですがスピードアップする必要があるので、負担にならない程度でなおかつ 効果が高いことはないかなと思ったら、、隙間時間の復習でしたね!
当面 1ヶ月の目標はこれを習慣化することです。時々 ここで 進捗を話させてもらいます(`・ω・´)ゞ
それではまた。
2024年4月3日
今日は食堂でイメージトレーニング!要するに、解いたことがある問題の復習ですね。 目をつぶってやること!これがコツです!以上!
後は、家に帰ってから、15分のプログラミング。やりました。15分、自分でプログラムを書くことを習慣にできていない人が1時間毎日コードを書くなんて無理な話。小さく始めて大きく育てていこう。
取り組んだ問題は下記の通り。通算3回の復習。少し詰まったけど、全体的にすらすら問題を解けました~。さすがに3回もやったら覚える。
2024年4月4日
競プロ習慣(完了)。成功した理由は、やりやすい、習慣を続けやすい環境を作ったこと。イメージトレーニングもとい、復習をしやすいように、解いたことがある問題をまとめた表(スプシ)を作成し、スマホ画面にアイコンを作成!ナイス!
2024年4月5日
競プロ習慣(完了)。いい感じ。 15分間プログラミングを始めたら、だいたい30分ぐらいやってるね!
2024年4月6日
今日やりたいこと
昨日の問題の復習3問。(10:38に完了)- 過去の問題3問、解く。(未達。C問題1問解いて、答え合わせと解説理解中)
- コンテストの出場(飲み会が早く終われば。ウーロン茶飲んどくか。。)(30分遅れで参加。結局、飲み会はなかったけれど、寝ちゃってましてね笑)
明日は今日のコンテストの振り返りと今日やっていたまだ理解しきれていないC問題を解いていこう!
裏テーマ:今日やりたいこと
- マイクロブレイク(参考文献, メンタリストDaiGoさん)を取ること。30分に1回3分くらいのペース。
疲れ切る前に休憩を取り、集中を持続させ、高い生産性を保つ。それが本当の休憩。
→コンテスト中にやりましたが集中力が続くのと、ひらめきが出てくるので、エラーになっていても素早く切り抜けられました!まあ、実測したわけではないので、プラシーボ効果的(効果あると思うと本当に効果が出てくるよねっていう理論)なものがあるかもしれませんが。参考までに
参考文献
- スキマ時間に全回復!時短回復術【マイクロブレイク】 - https://daigovideoapp.page.link/F3gW
2024年4月7日
今日やりたいこと
昨日のコンテストの振り返り完了競技プログラミングの鉄則 2問完了
あとは、昨日諦めた問題が少しずつ理解でき始めている。少しずつ少しずつ。頑張ってコー。
- はい、理解できた。気分転換に街に買い物に行ったんですよね。待ち時間でコードのことを考えていたらわかりました。次はあれするだけ、実際に書けるかどうか、思い出せるか、試すだけ。
トヨタ自動車プログラミングコンテスト2024#2(AtCoder Beginner Contest 341)
上記のコンテストにバーチャル参加しました。A, B問題は問題なく解けました。C問題は時間内に解ききれなかったのが残念。制限時間1時間でB問題が終わったのが大体55分くらい。悔し。少し時間があるときにもう一度解こう!
2024年4月8日
競プロ習慣、いい感じ。
2024年4月9日
計画の修正が必要なことに気が付いた。圧倒的に、知識が足りていないんですよね。後は、短い期間で成果を出したいので、より効率的に行う必要があるのではないかというフィードバック。だから、頻出としてまとめられていたQiita記事を参考にする。
参考にするQiita記事はこちら↓↓↓↓↓
今までの計画
- コンテスト出場
- 過去問をどんどん解いていく
今後の計画
- コンテスト出場
- Qiita記事の問題
- 鉄則本でアルゴリズムのインプット
2024年4月10日
競プロ習慣完了。計画の修正はまだ。スケジュールに落とし込めていないんですよね。
2024年4月11日
競プロ習慣完了。だんだんとイメージとれーにぐに慣れてきた。頭の中でコードを書いて、そのあとに解説や自分のブログで答え合わせする!そんな流れです。
2024年4月12日
今日は飲み会なのでお休み。の予定でしたが、、すこし早く帰ってきたので、15分だけコーディング。詰まっていたところが解消され、問題を正解できたのでうれしい!
2024年4月13日
友人と遊ぶので今日は少なめでお願いしゃす。
今日やりたいこと
フィボナッチ数列の問題を解く- 1問復習 イメージトレーニングということなら一応できたか?
競プロ習慣
まあ、飲み会だったし、いいか。うん。問題を解く習慣ができてきた!
2024年4月14日
今日やりたいこと
鉄則本を2問- バーチャルコンテストへの参加
メモ
3月
強くなるためのポイントをまとめを書きたい。大体、アルゴリズム勉強。出場。それを繰り返す。以上。な気がする。