정렬 모자의 자리는 편하다. 하는 일은 영향력이 크고, 결정권은 모자에게 있고, 1년에 364일을 쉰다. 그래도 모자는 만족하지 못해서 정년을 보장받는 교수 자리를 노리고 있다.
모자는 남는 시간에 전산학 논문을 읽는다. 정렬 모자이니 관심사는 정렬 알고리즘이다. 요즘 모자가 읽는 것은 손실 정렬이다. 손실 정렬은 보통 입력의 일부를 버려서 남은 값만 정렬된 상태로 만든다. Dropsort가 그런 방식이다.
모자는 한 발 더 나가려 한다. 모자의 알고리즘은 수를 버리지도 않고 자리를 옮기지도 않는다. 모든 값은 처음에 있던 줄에 그대로 남는다. 대신 자릿수를 하나씩 고쳐서 목록이 정렬된 상태, 즉 첫 줄부터 마지막 줄까지 값이 줄어들지 않는 상태로 만든다. 한 번 고치는 것은 어떤 수의 한 자리를 다른 숫자로 바꾸는 것이고, 고친 뒤에도 각 수는 정확히 m자리를 유지한다. 맨 앞의 0도 한 자리로 센다.
이 정렬이 잃는 양은 모자가 고친 자리의 개수다. 목록을 정렬된 상태로 만들려면 숫자를 최소 몇 자리 고쳐야 하는지 구하라.