Intuitive approach - move & rotate
\nclass Solution:\n    def rotateTheBox(self, box: List[List[str]]) -> List[List[str]]:\n        R, C = len(box), len(box[0])\n        \n        # 1) Move all \
```\nclass Solution:\n    def rotateTheBox(self, box: List[List[str]]) -> List[List[str]]:\n        R, C = len(box), len(box[0])\n        \n        # 1) Move all \'#\' to the right\n        for ri in range(R):\n            ei = -1\n            row = box[ri]\n            for i in range(1, C+1):\n                ci = row[-i]\n                if ci == \'.\':\n                    if ei < 0:\n                        ei = C - i\n                elif ci == \'*\':\n                    ei = -1\n                else:\n                    if ei > 0:\n                        row[-i], row[ei] = row[ei], row[-i]\n                        if row[ei-1] == \'.\':\n                            ei -= 1\n                        else:\n                            ei = -1\n                            \n        # 2) Rotate the box        \n        new_box = [[\'\'] * R for _ in range(C)]\n        for ri in range(C):\n            for ci in range(R):\n                new_box[ri][ci] = box[-(ci+1)][ri]\n                \n        return new_box\n```\nExample\n```\n\n[\n ["#",".","*","."],\n ["#","#","*","."]\n]\n      | (#1)\n      v\n[\n [".","#","*","."],\n ["#","#","*","."]\n]\n      | (#2)\n      v\n[\n  ["#", "."],\n  ["#", "#"],\n  ["*", "*"],\n  [".", "."]\n]\n```
['Python']