このリポジトリは、Pythonを利用してAtCoderの問題解答およびチェックを効率的に行うための環境を提供します。
- 解答作成: AtCoderの問題に対するコードを作成できます。
- 自動テスト: サンプルテストケースを自動的に実行します。
- 提出支援: コマンドラインを利用して簡単に提出できます。
- Python 3.8以上
- VSCode(Codespaces対応)
- Node.js(
atcoder-cli用)
-
リポジトリのクローン Codespacesの環境でリポジトリを開きます。
git clone https://github.com/m-miyawaki-m/python-atcoder.git cd python-atcoder -
仮想環境の作成
python -m venv venv source venv/bin/activate # Windowsの場合は venv\Scripts\activate
-
依存ライブラリのインストール
pip install -r requirements.txt sudo npm install -g atcoder-cli
-
VSCodeの設定
- 必要に応じて拡張機能(例: Python拡張、Code Runner)をインストール。
- Codespaces環境で、事前に設定された開発コンテナを利用すると便利です。
acc check-oj
- ChromiumとChromeDriverのインストール Codespaces環境でChromeDriverが正しく動作するようにします。
sudo apt-get update sudo apt-get install -y chromium-browser chromium-chromedriver
machine atcoder.jp
login your_email@example.com
password your_password
chmod 600 ./.netrc
acc login
acc session
oj login https://beta.atcoder.jp/
acc config default-template java acc config default-task-choice all acc config default-test-dirname-format tests
#acc new abc101 --template java acc new abc101
acc config-dir
acc templates
pip install online-judge-tools oj t -c "python main.py" -d ./tests/
#acc submit acc submit main.py -- --language 5055
rm -rf ./abc101
AtCoderのコンテストURLを指定して問題を取得します。
oj dl https://atcoder.jp/contests/abc300/tasks/abc300_aダウンロードされた問題フォルダ内にPythonスクリプトを作成して解答を記述します。
作成した解答をサンプルケースでテストします。
oj t -c "python main.py"コードを提出します。
oj submit https://atcoder.jp/contests/abc300/tasks/abc300_a main.py.
├── main.py # 解答スクリプト
├── requirements.txt # 依存ライブラリ
├── .vscode/ # VSCodeの設定フォルダ
├── README.md # 本ファイル
└── その他のファイルやディレクトリ
tcoder-cli- 問題管理ツールonline-judge-tools- テストと提出を支援するツールpytest- テストフレームワーク(必要に応じて)
- AtCoderの利用規約を守り、正しい方法で問題を解くよう心がけてください。
- ツールやライブラリのバージョンに依存する場合があります。公式ドキュメントを確認してください。