Decidi recentemente fazer o download de algum software de ditado, a fim de ajudar na minha redação. No entanto, não funciona muito bem quando estou codificando, pois tenho que mudar de dizer palavras para símbolos e voltar. É ainda pior quando estou codificando em uma linguagem esotérica que é tudo símbolos.
Para tornar meu uso do programa de ditado mais consistente, decidi mudar para o modo de caractere, onde apenas digo o nome de cada caractere. Problema resolvido! Embora isso atrase um pouco a data de lançamento do meu romance ...
Então, supondo que quanto maior o nome de um personagem, mais tempo é necessário para dizer, quanto tempo levarei para explicar alguns dos meus programas / frases?
Especificações
Dada uma sequência que consiste apenas em ASCII imprimível, retorne a soma do nome unicode de cada caractere. Por exemplo, /
é chamado SOLIDUS
com 7 caracteres e A
possui LATIN CAPITAL LETTER A
22 caracteres.
Mas lembre-se, eu tenho que dizer seus programas em voz alta para executá-los, portanto, a pontuação deles será baseada em quanto tempo levarei para dizê-los, ou seja, como a soma dos comprimentos do nome unicode de cada personagem.
Casos de teste:
Em formato input => output
sem espaços à direita / à esquerda na entrada.
A => 22
/ => 7
Once upon a time... => 304
slurp.uninames>>.comb.sum.say => 530
JoKing => 124
!" #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ => 1591
Double-check your \s on the last test case ;) => 755
<say "<$_>~~.EVAL">~~.EVAL => 388
,[.,] => 58
19 => 19
Regras:
- A entrada para o seu programa consistirá apenas em caracteres ASCII imprimíveis, ou seja, os pontos de código 32 (espaço) a 126 (til).
- Por uma questão de conveniência, eis a lista dos comprimentos dos caracteres que você precisa manipular:
[5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,19,15,20,17,8,12,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,13,19,5]
- Por uma questão de conveniência, eis a lista dos comprimentos dos caracteres que você precisa manipular:
- Aqui está um programa de referência que você pode usar para pontuar seu programa.
- Peter Taylor apontou que o programa de referência normaliza alguns caracteres unicode . Ele ainda deve funcionar para a maioria das soluções, mas fique à vontade para corrigi-lo se precisar
- Como você está dizendo como os caracteres realmente se parecem, sua solução será pontuada pelos caracteres exibidos, não pelos bytes envolvidos. Isso é direcionado para idiomas com codificações personalizadas.
- Você pode supor que eu memorizei toda a biblioteca Unicode e posso dizer quais caracteres estranhos você usa.
- Desculpe Rogem, mas as respostas devem ser compostas de caracteres que podem ser exibidos. Não imprimíveis são bons, só preciso ler os caracteres em voz alta.
- Faça o que fizer, não use
ﯹ
no seu programa.
\x[2126]
é contado como \x[3a9]
.
ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
este será o nome completo do meu filho