AtCoder Participants Display

AtCoderの順位表に種類別の参加人数を表示する。

As of 2025-01-15. See the latest version.

  1. // ==UserScript==
  2. // @name AtCoder Participants Display
  3. // @namespace http://tampermonkey.net/
  4. // @version 2025-01-15
  5. // @description AtCoderの順位表に種類別の参加人数を表示する。
  6. // @author Tamiji153
  7. // @match https://atcoder.jp/*
  8. // @license MIT
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (async () => {
  13. 'use strict';
  14. let url = location.pathname;
  15. if (url[url.length - 1] != '/') {
  16. url += '/';
  17. }
  18. let urls = url.split('/');
  19. if (urls[1] == 'contests' && urls[3] == 'standings') {
  20. let data = (await (await fetch(url + 'json')).json()).StandingsData;
  21. let team = 0;
  22. let rated = 0;
  23. let unr = 0;
  24. data.forEach((e) => {
  25. if (e.IsTeam) {
  26. team++;
  27. } else if (e.IsRated) {
  28. rated++;
  29. } else {
  30. unr++;
  31. }
  32. })
  33. let dis = document.createElement('h4');
  34. dis.innerHTML = `参加者: ${data.length} (チーム: ${team}, Rated: ${rated}, Unrated: ${unr})`;
  35. document.querySelector('#vue-standings>div>.text-center').after(dis);
  36. }
  37. })();