Simple beats 94% (self documenting)
Intuition\nFind out the max suffix length for your inputs. \n\n# Approach\nBrute force first time to determine the buckets and then hard code the same. \n\n# Co
# Intuition\nFind out the max suffix length for your inputs. \n\n# Approach\nBrute force first time to determine the buckets and then hard code the same. \n\n# Complexity\n- Time complexity: O(n)\n- Space complexity: O(n)\n\n# Code\n```python3 []\nclass Solution:\n    def _get_suffix_size_blocks(self):\n        blocks = OrderedDict()\n        # for max_val in [9, 99, 999, 9999, 99999]:\n        #     total_suffix_len = sum([len(f\'<{i}/{max_val}>\') for i in range(1, max_val + 1)])\n        #     blocks[max_val] = total_suffix_len\n        blocks[9] = 45\n        blocks[99] = 684\n        blocks[999] = 8883\n        blocks[9999] = 108882\n        blocks[99999] = 1288881\n        return blocks\n\n\n    def _determine_max_suffix_val(self, suffix_size_blocks: Dict[int,int], message: str, limit: int):\n        message_len = len(message)\n        for max_suffix_val, total_suffix_len in suffix_size_blocks.items():\n            if (limit * max_suffix_val) - total_suffix_len - message_len >= 0:\n                return max_suffix_val\n\n        return None\n\n\n    def splitMessage(self, message: str, limit: int) -> List[str]:\n        suffix_size_blocks = self._get_suffix_size_blocks()\n        max_suffix_val = self._determine_max_suffix_val(suffix_size_blocks, message, limit)\n        if max_suffix_val is None:\n            return []\n\n        message_chunks, suffix_chunks = [], []\n        i, j = 0, 1\n        suffix_total_placeholder = \'_\' * len(str(max_suffix_val))\n        while i < len(message):\n            suffix = f\'<{j}/{suffix_total_placeholder}>\'\n            j += 1\n            suffix_chunks.append(suffix)\n\n            n = limit - len(suffix)\n            partial_message = message[i:i+n]\n            i += n\n            message_chunks.append(partial_message)\n\n        answer, total_parts = [], str(len(suffix_chunks))\n        for i, (msg, suffix) in enumerate(zip(message_chunks, suffix_chunks), 1):\n            line = msg + suffix.replace(suffix_total_placeholder, total_parts)\n            answer.append(line)\n\n        return answer\n\n```
['Python3']