Ordenar por quantidade de dígitos e depois pelo próprio número

Escreva uma função que ordene um array de inteiros pela quantidade de dígitos em ordem decrescente e, em seguida, desempate ordenando em ordem crescente os números com a mesma quantidade de dígitos.

Exemplos

digitSort([77, 23, 5, 7, 101])
➞ [101, 23, 77, 5, 7]

digitSort([1, 5, 9, 2, 789, 563, 444])
➞ [444, 563, 789, 1, 2, 5, 9]

digitSort([53219, 3772, 564, 32, 1])
➞ [53219, 3772, 564, 32, 1]

Notas

Não se aplica