CodeForces Solution Opener

Quickly find fastest solution.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        CodeForces Solution Opener
// @namespace   slbtty.codeforces.solution
// @match       https://codeforces.*/problemset/problem/*/*
// @match       https://codeforces.*/contest/*/problem/*
// @grant       none
// @license     GPLv3
// @version     1.1.1
// @home-url    https://github.com/shenlebantongying
// @author      slbtty
// @description Quickly find fastest solution.
// ==/UserScript==

const url = document.URL
url_parts=url.split("/")

if(url_parts.includes('contest')){
  var new_url = "https://codeforces.com/problemset/status/"
                +url_parts[url_parts.length-3]
                +"/problem/"
                +url_parts[url_parts.length-1]
                +"?order=BY_CONSUMED_TIME_ASC"
} else {
  var new_url = "https://codeforces.com/problemset/status/"
                +url_parts[url_parts.length-2]
                +"/problem/"
                +url_parts[url_parts.length-1]
                +"?order=BY_CONSUMED_TIME_ASC"
}

var mainMenu = document.querySelector(".main-menu-list");

var solution_li = document.createElement("li");

var btn = document.createElement('a');
btn.setAttribute('href',new_url);
btn.innerHTML = "Solution";

solution_li.appendChild(btn);
mainMenu.appendChild(solution_li);