이 도전은 이미 dropsort를 설명합니다. 그러나, 나는 다소 게으르고 실제로 배열을 이전보다 조금 더 정렬해야하기 때문에 완전히 정렬 할 필요는 없습니다 .
Drop Sort에서는 모든 요소를 그 이전의 요소보다 작게 삭제 합니다. Lazy Drop Sort에서는 모든 요소를 엄격하게 선행 요소보다 작게 삭제 합니다.
다음은 예입니다. 다음 배열을 고려하십시오.
8 6 9 9 7 2 3 8 1 3
모든 요소를 이전보다 작은 요소로 표시합시다.
8 6 9 9 7 2 3 8 1 3
^ ^ ^ ^
어느 쪽 3
도 표시 되지 않았는지 또는 마지막 표시 되었는지 확인 하십시오 8
. 그것들은 모두 왼쪽의 단일 요소보다 큽니다.
알고리즘을 완성하고 표시된 요소를 제거하면 다음과 같은 이점이 있습니다.
8 9 9 3 8 3
즉 기본적으로 더 분류 보인다. 킨다 내가 게으른.
이미 추론했을 수 있듯이 귀하의 작업은이 알고리즘을 구현하는 것입니다.
입력은 1과 9 사이의 양의 정수가 1 이상인 배열이므로 숫자 문자열도 사용할 수 있습니다.
이것은 code-golf 이며 가장 적은 바이트 수입니다!
추가 테스트 사례 :
1
1
1 2 3
1 2 3
5 3 1
5
1 2 3 2 1
1 2 3
1 1 1 9 9 9 1 1 1 9 9 9 1 1 1
1 1 1 9 9 9 1 1 9 9 9 1 1
9 9
9 9
5 2 4 2 3
5 4 3