RONの技術ブログ

駆け出しエンジニアの備忘録

【AtCoder】VScodeで環境構築 in Mac

概要

プログラミングの練習でAtCoderを始めました。
デバッグは公式で提供されているコードテストを使用していましたが、テストケースのコピペなどだんだん煩わしくなってきたので、VScodeで環境構築しました。

動作環境

使用するツール

  • online-judge-tools (ojt)
    テストケースの判定を自動化するツール
    コンテストサイトからサンプルケースをスクレイピングし、自動テストしてくれる。

  • atcoder cli (acc)
    コンテストサイトからテストケースのダウンロード、やコード提出も行える。

インストール

pip install online-judge-tools
npm install -g atcoder-cli

もう少し詳しく知りたい方はatcoder-cliの開発者様のブログを参考にしてください。

使ってみる

1. ログイン

oj login -u ユーザー名 -p パスワード "https://atcoder.jp/"

以下のコマンドでチェックできる。

oj login --check "https://atcoder.jp/"

[*] You have already signed in.と出力されればOK。

2. コンテストディレクトリ作成

  • コンテストIDを取得 (画像はabc188)

    f:id:ron-tech:20210123182656p:plain
    コンテストID

  • ディレクトリ作成

acc new コンテストID (abc188)

上記コマンドを叩き、usernameとpasswordを入力すると、どの問題を解くか聞かれるので希望の問題を選択する。

f:id:ron-tech:20210123184047p:plain
問題選択

選択した問題のサンプルケースがダウンロードされる。

f:id:ron-tech:20210123184628p:plain
ディレクトリ構成

3.問題を解く

問題のディレクトリ直下にコードファイルを作成して、コードを書く。ファイルの置き場所、言語等は各自ご自由に。
pythonで書く場合、最初に実行環境を指定する必要があるらしいです。以下サンプル

#!/usr/bin/env python3
~~
oj t -c "python3 a.py" -d tests 

上記a.py、testsはそれぞれコードファイルとテストケースのディレクトリへのパスを指定する。

f:id:ron-tech:20210123185702p:plain
デバッグ結果

それぞれのテストケースについての計算時間、結果が表示される。

4.提出

acc submit a.py

現在のディレクトリからどのコンテストのどの問題を説いているか識別してくれるので、単にファイルを指定してあげればOKです。
※a.pyの指定の際にdir/a.pyのようなパスを指定すると、何故かエラーになりました。提出するファイルと同じ階層で実行するのがよさそうです。
提出すると、自動でブラウザが立ち上がり通常通り結果が表示されます。
いや〜便利ですね☆

5.その他

  • 問題の追加
acc add

問題を選択する画面が出てくるので、次に解く問題を選ぶ。
1問ずつ問題を選択するのが面倒な方は

acc config default-task-choice all

を実行することで、デフォルトでコンテストの全問題の環境をまとめて作るようにすることができます。

まとめ

VScodeAtCoderの環境構築をしました。
自分で書いたコードの管理もしやすいので、おすすめです。
もうすでに達成感がありますが、これからちゃんと勉強していきたいと思います。
では!