Isaac Emmanuel
09 Sept 2026•EasyGo / Python / TypeScript

Delete Columns to Make Sorted

Count string-grid columns that are not sorted from top to bottom.

Inspect each column and count it once as soon as any adjacent row pair is descending.

Complexity

O(rows * columns) time and O(1) space.

Solution files

Go•delete-columns-to-make-sorted/solution.go
package main

func minDeletionSize(strs []string) int {
	deleted := 0
	for column := range strs[0] {
		for row := 1; row < len(strs); row++ {
			if strs[row][column] < strs[row-1][column] {
				deleted++
				break
			}
		}
	}
	return deleted
}
Python•delete-columns-to-make-sorted/solution.py
class Solution:
    def minDeletionSize(self, strs: list[str]) -> int:
        return sum(any(strs[row][column] < strs[row - 1][column] for row in range(1, len(strs))) for column in range(len(strs[0])))
TypeScript•delete-columns-to-make-sorted/solution.ts
function minDeletionSize(strs: string[]): number {
  let deleted = 0;
  for (let column = 0; column < strs[0].length; column += 1) for (let row = 1; row < strs.length; row += 1) if (strs[row][column] < strs[row - 1][column]) { deleted += 1; break; }
  return deleted;
}