diff --git a/src/backend/src/modules/puterexec/Judge0Service.js b/src/backend/src/modules/puterexec/Judge0Service.js index a03cc41e4..6c0d9fd57 100644 --- a/src/backend/src/modules/puterexec/Judge0Service.js +++ b/src/backend/src/modules/puterexec/Judge0Service.js @@ -35,6 +35,17 @@ class Judge0Service extends BaseService { if ( runtime.startsWith('j0-') ) { return runtime.slice(3); } + if ( runtime.includes('-') ) { + const versionIndex = runtime.lastIndexOf('-'); + const langPart = runtime.slice(0, versionIndex); + const versionPart = runtime.slice(versionIndex + 1); + const lang = this.languages.find((lang) => + lang.language === langPart && lang.version === versionPart + ); + if ( lang ) { + return lang.judge0_id; + } + } let lang = this.languages.find((lang) => lang.language === runtime); if ( lang ) { return lang.judge0_id;