{"ScriptPreparationCode":"/*your preparation JavaScript code goes here\r\nTo execute async code during the script preparation, wrap it as function globalMeasureThatScriptPrepareFunction, example:*/\r\nasync function globalMeasureThatScriptPrepareFunction() {\r\n // This function is optional, feel free to remove it.\r\n // await someThing();\r\n}","TestCases":[{"Name":"Test case mine","Code":"/*When writing async/deferred tests, use \u0060deferred.resolve()\u0060 to mark test as done*/\r\n\u003C!--your preparation HTML code goes here--\u003E\r\nfunction descendingOrder(n) {\r\n\tlet str = n.toString();\r\n\tlet startDigit = 9;\r\n\tlet digitList = {};\r\n\tfor (let charIndex = 0; charIndex \u003C str.length; charIndex\u002B\u002B) {\r\n\t\tlet charAtIndex = str[charIndex];\r\n\t\tif (!digitList[charAtIndex]) {\r\n\t\t\tdigitList[charAtIndex] = 0;\r\n\t\t}\r\n\t\tdigitList[charAtIndex]\u002B\u002B;\r\n\t}\r\n\tlet result = \u0027\u0027;\r\n\tfor (let digit = 9; digit \u003E= 0; digit--) {\r\n\t\tlet digitStr = digit.toString()\r\n\t\tlet digitCount = digitList[digitStr];\r\n\t\tif (digitCount \u0026\u0026 digitCount \u003E 0) {\r\n\t\t\tresult \u002B= digitStr.repeat(digitCount);\r\n\t\t}\r\n\t}\r\n\treturn Number(result);\r\n}\r\ndescendingOrder(1239901873);","IsDeferred":false},{"Name":"Test case using sort and reverse","Code":"function descendingOrder(n){\r\n return parseInt(String(n).split(\u0027\u0027).sort().reverse().join(\u0027\u0027))\r\n}\r\ndescendingOrder(1239901873);","IsDeferred":false},{"Name":"Test case 3","Code":"function descendingOrder(n){\r\n return \u002B(n \u002B \u0027\u0027).split(\u0027\u0027).sort(function(a,b){ return b - a }).join(\u0027\u0027);\r\n}\r\ndescendingOrder(1239901873);","IsDeferred":false}]}