class Solution { fun rotateTheBox(box: Array): Array { val (rows, cols) = box.size to box[0].size val rotated = Array(cols) { CharArray(rows) { '.' } } (0.. (0.. when (box[y][x]) { '#' -> { rotated[lowestEmpty][rows - y - 1] = '#' lowestEmpty - 1 } '*' -> { rotated[x][rows - y - 1] = '*' x - 1 } else -> lowestEmpty } } } return rotated } }