Python 3, Easy 7 lines Solution
We are creating "empty" matrix A for the answer\n2. Change the row from the box into string, so we can use the string methods\n3. Split per an obstacle \'*\'\n4
1. We are creating "empty" matrix ```A``` for the answer\n2. Change the row from the box into string, so we can use the string methods\n3. Split per an obstacle ```\'*\'```\n4. Sort each part between obstacle, we need ```Empty  \'.\'```  <  ```A stone \'#\'```\n5. Join all the parts with the obstacles ```\'*\'```\n6. Transform the finale string into the corresponding column in the matrix ```A```\n\n\n```\nclass Solution:\n    def rotateTheBox(self, box: List[List[str]]) -> List[List[str]]:\n        R=len(box)\n        C=len(box[0])\n        A=[[0]*R for _ in range(C)]\n        for r in range(R):\n            z=\'\'.join(box[r])\n            Z=z.split(\'*\')\n            for i in range(len(Z)):\n                q=list(Z[i])\n                q.sort()\n                Z[i]=q[::-1]\n                Z[i]=\'\'.join(Z[i])\n            z=\'*\'.join(Z)\n            for c in range(C):\n                A[c][-r-1]=z[c]  \n        return A\n    \n```\n\n7-lines version:\n```\nclass Solution:\n    def rotateTheBox(self, box: List[List[str]]) -> List[List[str]]:\n        R,C=len(box),len(box[0])\n        A=[[0]*R for _ in range(C)]\n        for r in range(R):\n            z=\'*\'.join(\'\'.join(sorted(list(w),reverse=True)) for w in \'\'.join(box[r]).split(\'*\'))\n            for c in range(C):\n                A[c][-r-1]=z[c]  \n        return A\n```
[]