はじめに
2019年10月頃から本格的に手をつけ始めたAtCoderでのレートがついに800を超えました。
キリが良いのでQiitaデビューをしようと思い、筆を取りました。
本記事では、備忘録と友人への布教用を兼ねて、
環境構築からコンテストへの参加まで自身がやってきたことを紹介したいと思います。
なお、macOS Catalina version10.15.3を前提として進めていきます。
環境構築
当初は、Jupyter Notebookを使用していたのですが、
入力例を貼り付ける際に改行が含まれないことがネックになり、VSCodeに移行しました。
以下ではそれぞれの環境構築を説明したいと思います。
1. Jupyter Notebook
Homebrewとpipを用いてpyenvを使わずに、
Python3型に標準搭載されているvenvで設定した環境にJupyter Notebookをインストールしました。
参考:MacでPython環境を用意し、Jupyter Notebookを設定するメモ(2018年4月)
2. VisualStudioCode
Jupyter Notebookをインストールした際に使った
venv環境をそのままVSCode上で使えるようにしました。
- やったこと
- VScodeをインストール
参考:MacOSでVisual Studio Codeをインストールする手順 - settings.jsonに
"python.venvPath": "1.で設定したvenv環境のPath"
を追記 - MarketPlaceより各種拡張機能を追加
-
Python
VSCodeでPythonファイルを実行するために必要です。 -
Code Runner
MacOSであれば、Ctrl+Option+Nでファイルを実行できます。 -
Kite Python Autocomplete
コーディングの際に自動補完をしてくれるので、時短になります。
-
Python
- VScodeをインストール
学習方法
個人としては基本的には、AtCoderの過去問をひたすら解き続けていました。
また、友人と勉強会という形で蟻本を読み進めたり、バーチャルコンテストをしたりでモチベーションを保っていました。(実際これが一番効いた)
以下で、学習する上で非常に助かったサイトを紹介します。
- 活用したサイト
-
AtCoder Problems
AtCoderの過去問を難易度ごとに色付けして参照することができます。
ライバルを設定できたりするので、モチベーション維持にも繋がります。 -
Aizu Online Judge
Pythonに限らず様々な言語で実際にコーディングしながら、競技プログラミングで使用する基礎的な概念を学べます。 -
note.nkmk.me
Pythonの言語仕様やライブラリについて目的に応じた記事を掲載してくださっています。
-
AtCoder Problems
おわりに
個人的な感想にはなりますが、蟻本等で体系的な学びを進めつつ、
過去問や他コンテストへの参加で瞬発力を鍛えるのがレートを伸ばすだけなら最短なのかなぁと思います。
今後は、体系的な学びを重点的に進めていきたい所存です...。
参考文献
本記事は以下の情報を参考にして執筆しました。