Percebi que um determinado jogo tinha um contador de vida peculiar que, em vez de parar 999
, ganhou um novo dígito - o número seguinte era de cem coroas ou 👑00
. Depois 👑99
veio a coroa cem coroas ( 👑👑0
) e o último número, depois 👑👑9
, foi a coroa cem coroas ou 👑👑👑
, que seria 1110 em decimal.
Sua tarefa é escrever um programa ou uma função que produz esse contador.
Dado um número inteiro do intervalo [0,1110]
(inclusive nas duas extremidades), produza uma cadeia de três caracteres em que
- cada personagem é da lista
0123456789👑
- a coroa (👑) pode aparecer apenas como o caracter mais à esquerda ou quando houver uma coroa à esquerda
- quando esse número é lido como um número decimal, mas com a coroa contando como
10
, você recebe de volta o número original
Casos de teste
0 → "000"
15 → "015"
179 → "179"
999 → "999"
1000 → "👑00"
1097 → "👑97"
1100 → "👑👑0"
1108 → "👑👑8"
1110 → "👑👑👑"
Você pode usar qualquer caractere não decimal em vez da coroa. Para incentivar uma impressão bonita, o caractere de coroa (sequência de bytes UTF8 "\ 240 \ 159 \ 145 \ 145") conta como um byte em vez de quatro. Seu programa não precisa trabalhar com números fora do intervalo válido.
Isso é código-golfe , então a resposta mais curta, medida em bytes, vence!