はじめに
こんにちは、tardigradeです。普段は競技プログラミングや組合せ最適化などをしています。
タイトルの通り、本記事では競プロ問題管理シートを作っていこうと思います。
先輩がスプシで問題管理をしていて、かなり便利そうだったので真似したくなりました。
具体的な用途としては、解説ACした問題や解けなかった問題、印象に残った問題を記録することを想定しています。
ちなみにスプシを触った経験はほとんどないです。ChatGPT先生と二人三脚でやっていきます。
管理したいもの
- 問題名
- コンテスト
- A〇C、div〇、ICPC、JOI、etc.
- 問題リンク
- 体感難易度
- AtCoder Ploblemsのdifficultyに合わせてつけるのが丸そう
- ジャンル
- 複数個のタグをつけたい
- ステータス
- AC、解説AC、WA、No Sub、etc.
- コメント
- 問題の特徴を一言で書いてもいいし、Scrapboxのリンクを貼ってそっちにがっつり考察とかを書くのもあり
- 日付
- その問題に触れた最後の日付を書いておくのがいいかな
最低限
Google Driveにアクセスして「新規」から「Googleスプレッドシート」を選択。
とりあえず一番上の行に管理したいものを入れてみました。
あとはこの下に情報を追加していけば最低限の運用はできますね、ヨシ!
見た目をいい感じに
このまま終わったら流石に記事として薄すぎるので、もう少し続けます。
機能面も気になりますが、一旦見た目がしょぼすぎるのでこれを何とかしたいです。
ヘッダーを見やすく
一行目のセルを選択して「表示形式」から「交互の背景書式」を選択。「ヘッダー」にチェックをつけて好きな色を選ぶ。
同じく「表示形式」から「テキスト」、「太文字」を選択。
おー、なんかスプシっぽい。
仮データを入れて、列幅を調整します。
うん、いい感じ。
難易度に合わせて色を付ける
体感難易度の列(D列)を選択し、「表示形式」から「条件付き書式」をクリック。
「セルの書式の条件」で「次の間にある」を選択し、数値を入力。色を選ぶ。
機能面を改善
プルダウンで選択できるようにする
コンテスト、体感難易度、ステータスはプルダウンで選択できた方が便利そうですよね。
コンテストの列(B列)を選択し、「データ」から「データの入力規則」をクリック。
「ルールを追加」をクリックして、条件として「プルダウン」を選択。アイテムを追加します。
範囲に一行目が含まれて欲しくないので、「'問題管理シート'!B2:B1000」としました。
(なんかめっちゃ下に伸びてるな…)
同様に、ジャンル、ステータスの列も設定します。ジャンルは「複数選択できるようにする」にチェックをつけました。
ちょっとガチャガチャしすぎな気もするけど…まぁいいか。
日付セルにカレンダーを設定する
日付もカレンダーから選択したいですよね。
日付の列(H列)を選択し、「データ」から「データの入力規則」をクリック。
「ルールを追加」をクリックして、条件として「有効な日付」を選択。
おわり
見た目が悪かったので入力形式の範囲を設定し直しました。
実用上は範囲を十分大きくとったほうが使いやすいと思いますし、僕もあとで戻すと思います。
本当は自動化出来たら一番良かったんですけどね…ChatGPTにスクリプトを書かせたら、これまでに行った設定をいくつか破壊されてしまい、直し方がわからなかったので一から全部作り直しました。
萎えたのでスプシ初心者でも簡単に調整できることは一通り終えたような気がするので、ここで記事を終わりにしたいと思います。
他に追加すると便利なものがあれば、コメント等で教えていただけると嬉しいです。
最後まで読んでいただき、ありがとうございました。