@kyanny's blog

My thoughts, my life. Views/opinions are my own.

paiza

プログラミングするために paiza のスキルチェック問題をやり始めた。もはやこんなのですら、何かお題が与えられないと書かなくなってしまっている。

paiza ランクをあげるためにやるわけではないので、 D ランク(超初級)ばかりやっている。初回チャレンジのときだけスキル判定されるようなので Ruby で解いてる。

勉強中のプログラミング言語でコード量を書いて慣れるために簡単な問題がたくさんある paiza を選んだので、二回目以降のチャレンジが本題。というか提出する必要すらあんまりない。

そういう使い方は想定されてなさそうで、どの問題をどの言語で解き終わったかを、 Git リポジトリにコミットしてるだけでは把握しづらそうなので、把握するためのツールを書いた。

これはランク毎の問題番号のリストを作る JavaScript のスニペットで、 https://paiza.jp/challenges/ranks/d のような URL で Chrome DevTools のコンソールに貼り付けて使う。実行すると以下のようなデータをクリップボードにコピーする。

[
  "D031",
  "D012",
  "D056",
  "D024",
  "D035",
  "D055",
  "D010",
  "D095",
  "D047",
  "D070",
  "D081",
  "D048",
  "D009",
  "D042",
  "D033",
  "D098",
  "D028",
  "D008",
  "D016",
  "D106",
  "D019",
  "D027",
  "D088",
  "D052",
  "D032",
  "D107",
  "D077",
  "D091",
  "D036",
  "D041",
  "D067",
  "D099",
  "D104",
  "D043",
  "D013",
  "D021",
  "D111",
  "D105",
  "D045",
  "D058",
  "D026",
  "D057",
  "D011",
  "D015",
  "D017",
  "D110",
  "D050",
  "D075",
  "D039",
  "D023",
  "D097",
  "D103",
  "D068",
  "D089",
  "D037",
  "D025",
  "D073",
  "D087",
  "D054",
  "D083",
  "D074",
  "D059",
  "D049",
  "D108",
  "D046",
  "D034",
  "D078",
  "D065",
  "D064",
  "D069",
  "D051",
  "D061",
  "D094",
  "D090",
  "D006",
  "D053",
  "D066",
  "D100",
  "D062",
  "D093",
  "D113",
  "D114",
  "D044",
  "D040",
  "D072",
  "D063",
  "D096",
  "D079",
  "D092",
  "D082",
  "D076",
  "D071",
  "D109",
  "D084",
  "D086",
  "D004",
  "D005",
  "D002",
  "D003",
  "D101",
  "D007",
  "D115",
  "D116",
  "D112",
  "D102",
  "D080",
  "D060",
  "D038",
  "D029",
  "D022",
  "D014"
]

これは問題番号のリストとローカルディレクトリ内にあるファイルから、どの問題をどの言語で解いたかを見やすい表にするプログラムで、実行すると以下のようになる。

+------+------+------+
| D    | .exs | .rb  |
+------+------+------+
| D031 |      |      |
| D012 |      |      |
| D056 |      |      |
| D024 |      |      |
| D035 |      |      |
| D055 |      |      |
| D010 |      |      |
| D095 |      |      |
| D047 |      |      |
| D070 |      |      |
| D081 |      |      |
| D048 |      |      |
| D009 |      |      |
| D042 |      |      |
| D033 |      |      |
| D098 |      |      |
| D028 |      |      |
| D008 |      |      |
| D016 |      |      |
| D106 |      |      |
| D019 |      |      |
| D027 |      |      |
| D088 |      |      |
| D052 |      |      |
| D032 |      |      |
| D107 |      |      |
| D077 |      |      |
| D091 |      |      |
| D036 |      |      |
| D041 |      |      |
| D067 |      |      |
| D099 |      |      |
| D104 |      |      |
| D043 |      |      |
| D013 |      |      |
| D021 |      |      |
| D111 |      |      |
| D105 |      |      |
| D045 |      |      |
| D058 |      |      |
| D026 |      |      |
| D057 |      |      |
| D011 |      |      |
| D015 |      |      |
| D017 |      |      |
| D110 |      |      |
| D050 |      |      |
| D075 |      |      |
| D039 |      |      |
| D023 |      |      |
| D097 |      |      |
| D103 |      |      |
| D068 |      |      |
| D089 |      |      |
| D037 |      |      |
| D025 |      |      |
| D073 |      |      |
| D087 |      |      |
| D054 |      |      |
| D083 |      |      |
| D074 |      |      |
| D059 |      |      |
| D049 |      |      |
| D108 |      |      |
| D046 |      |      |
| D034 |      |      |
| D078 |      |      |
| D065 |      |      |
| D064 |      |      |
| D069 |      |      |
| D051 |      |      |
| D061 |      |      |
| D094 |      |      |
| D090 |      |      |
| D006 |      |      |
| D053 |      |      |
| D066 |      |      |
| D100 |      |      |
| D062 |      |      |
| D093 |      |      |
| D113 |      |      |
| D114 |      |      |
| D044 |      |      |
| D040 |      |      |
| D072 |      |      |
| D063 |      |      |
| D096 |      |      |
| D079 |      |      |
| D092 |      |      |
| D082 |      |      |
| D076 |      |      |
| D071 |      |      |
| D109 |      |      |
| D084 |      |      |
| D086 |      |      |
| D004 |      |      |
| D005 |      |      |
| D002 |      |      |
| D003 |      |      |
| D101 |      |      |
| D007 |      | D007 |
| D115 |      | D115 |
| D116 |      | D116 |
| D112 |      | D112 |
| D102 |      | D102 |
| D080 |      | D080 |
| D060 |      | D060 |
| D038 |      | D038 |
| D029 |      | D029 |
| D022 |      | D022 |
| D014 | D014 | D014 |
+------+------+------+
+---+
| C |
+---+
+---+
+---+
| B |
+---+
+---+
+---+
| A |
+---+
+---+
+---+
| S |
+---+
+---+