JS approach for this solution with human readable comments
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\n/**\n * @param {string} message\n * @param {number} limit\n * @return {string[]}\n */\nvar splitMessage = function(message, limit) {\n    \n\n    const getSuffLen = (a,b) => {\n        return `<${a}/${b}>`.length;\n    } \n\n\n    // Increase the numnber of parts until we have enough capacity to store mesage\n    // OR until the suffixes take up the entire limit (meaning each additional part adds no more capacity)\n\n    let numParts = 0;\n    let prefixLengthSoFar = 0;\n    while(\n        3 + (`${numParts}`.length * 2) < limit && // suffix can still fit in limit\n        (numParts * limit) - (prefixLengthSoFar) - (numParts * (3+`${numParts}`.length)) < message.length// we dont have enough capacity yet\n    ){\n        numParts++; // try adding another part\n        prefixLengthSoFar += `${numParts}`.length; // keep track of number of chars used to write prefixes\n    }\n\n    // same conditon as while loop...\n    // Do we have enough capacity to transmit this message? \n    // if not, return empty array\n    if((numParts * limit) - (prefixLengthSoFar) - (numParts * (3+`${numParts}`.length)) < message.length){\n        return []\n    }\n\n\n    //We have enough capacity with "numParts" # of parts \n    // construct response and return it\n    let arr = [];\n    let l = 0;\n    for(let i = 1; i <= numParts; i++){\n        const dataLength = limit - getSuffLen(i,numParts);\n        const token = `${message.slice(l, l+dataLength)}<${i}/${numParts}>`\n        l+=dataLength;\n        arr.push(token);\n    }\n\n    return arr;\n};\n```
['JavaScript']