Step 1: Since the top of the second column shows a ‘1’, the first building MUST be the tallest building (D) so it hides the three behind it.

Step 2: The fourth column has a ‘3’ at the bottom, indicating that the tallest building (D) must be second from the top, since there’s already a D in the top row.

Step 3: By similar logic, the bottom row must have a D in the third space, and the fourth D is in the only other space allowed.

Step 4: Since the third row has a ‘2’ on the right, the only other visible building must be C, placing it in the rightmost space.

Step 5: C must be to the left of the D in the bottom row, since there are three buildings visible and there is already a C in the fourth column.

Step 6: Since the top row can see two buildings, A cannot be in the top right corner. Therefore, it must be in the bottom right corner. This makes the top right and bottom left corners both B. The fourth column reads BDCA, and the bottom row reads BCDA.

Step 7: Since A is the only building that can hide behind B, the top row must read CDAB.

Step 8. Using sudoku rules, the rest of the letters can be filled in.