Давши список рядків, сортуйте список як числа, не знаючи, яка база використовується. Значення цифр також невідомі (можливо, що '1'
> '2'
).
Оскільки значення цифр невідомі, використовуйте Закон Бенфорда (або Закон першої цифри), щоб визначити відносне значення цифр. У дистрибутивах, які відповідають закону Бенфорда, цифри з нижчим значенням відображаються як провідні цифри частіше, ніж цифри з більш високим значенням.
Правила
- Це код-гольф
- Список рядків може надходити з обраного вами джерела (stdin, змінна, файл, користувач тощо)
- Рядки обмежені символами ASCII.
- Символи, які не відображаються як провідні символи, мають найвищі значення. (припустимо, що немає нулів, і сортувати строго за провідною частотою.)
- Символи, які відображаються як провідні цифри, стільки ж разів, скільки й інші символи, зважуються однаково.
Приклад
Несортовано
['c','ca','ac','cc','a','ccc','cx','cz','cy']
Відсортовано
['c','a','cc','ca','cz','cy','cx','ac','ccc']
Примітка: В даному прикладі 'cz'
, 'cy'
і 'cx'
може з'явитися як 5 - й, 6 - й і 7 - елементи в будь-якому порядку , так як цифри 'x'
, 'y'
і 'z'
мають однакову вагу.