Недавно я решил загрузить программное обеспечение для диктовки, чтобы помочь с написанием. Тем не менее, это не очень хорошо работает, когда я пишу код, потому что мне приходится переходить от произнесения слов к символам и обратно. Это еще хуже , когда я кодирование в эзотерическом языке , который все символы.
Чтобы сделать использование программы диктовки более последовательным, я решил переключить ее в режим ввода символов, где вместо этого я просто произношу имя каждого символа. Проблема решена! Хотя это немного задерживает дату выхода моего романа ...
Итак, если предположить, что чем длиннее имя персонажа, тем больше времени требуется, чтобы сказать, сколько времени мне понадобится, чтобы изложить некоторые из моих программ / предложений?
Характеристики
Если задана строка, состоящая только из печатного ASCII, вернуть сумму имени юникода каждого символа. Например, /
называется SOLIDUS
с 7 символов, и A
это LATIN CAPITAL LETTER A
с 22 символов.
Но помните, я должен произносить ваши программы вслух, чтобы выполнить их, поэтому их оценка будет зависеть от того, сколько времени у меня уйдет, чтобы сказать их, то есть как сумма длин имени юникода каждого символа.
Тестовые случаи:
В формате input => output
без конечных / ведущих пробелов на входе.
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
Правила:
- Ввод вашей программы будет состоять только из печатных символов ASCII, то есть кодовых точек от 32 (пробел) до 126 (тильда).
- Для удобства, вот список длин символов, которые вы должны обработать:
[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]
- Для удобства, вот список длин символов, которые вы должны обработать:
- Вот справочная программа, которую вы можете использовать для оценки вашей программы.
- Питер Тейлор отметил, что справочная программа нормализует некоторые символы Юникода . Это все еще должно работать для большинства решений, но не стесняйтесь исправлять это, если вам нужно
- Поскольку вы говорите, как на самом деле выглядят символы, ваше решение будет оцениваться отображаемыми символами , а не задействованными байтами. Это направлено на языки с пользовательскими кодировками.
- Вы можете предположить, что я запомнил всю библиотеку Unicode и могу сказать, какие странные символы вы используете.
- Извините, Рогем, но ответы должны состоять из отображаемых символов. Непечатные документы в порядке, я просто должен быть в состоянии прочитать символы вслух.
- Что бы вы ни делали, не используйте
ﯹ
в своей программе.
источник
ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
это будет полное имя моего ребенка\x[2126]
считается как\x[3a9]
.Ответы:
Java 8, оценка
846838822816-8 оценка благодаря @tsh замене
_1
сꀊ
.-22 оценка благодаря @ ASCII-только замена
ꀊ
сˇ
и$
сௐ
.Попробуйте онлайн.
Объяснение:
ௐ
Иˇ
используются вместоs
иc
я обычно использую, так как строчные буквы все 20 (то естьLATIN SMALL LETTER S
), ноௐ
(TAMIL OM
) 8ˇ
(CARON
) является 5.источник
push compressed integer 87235805968599116032550323044578484972930006625267106917841
ꀊ
вместо того,_1
чтобы сохранить некоторые точки.Ω
(OHM SIGN
) имеет длину 8 символов. Кроме того, ха-ха, я не знал, что это недопустимо, просто предположил, что это допустимо в C #, и Питер_1
тоже использовал ( программа для поиска коротких имен переменных , символ коробки не может быть использован)Perl 6 , оценка 337
Попробуйте онлайн!
источник
.&[~]
вместо.join
изящной уловки. Я никогда не могу вспомнить, какие операторы сокращения могут быть применены с помощью этого методаJapt v2.0a1
-x
, оценка926908875865829791789Принимает ввод как массив символов.
Попробуйте или запустите все тестовые случаи на TIO
(
APOSTROPHE
опущено в 6-м тесте на TIO, поскольку Japt не может обрабатывать одинарные и двойные кавычки в одной и той же строке ввода)объяснение
Построение струны
(Счета включают шаги и дополнительные символы, необходимые для отмены каждой модификации)
>=23
и присоединение к строке набрал 1832 .m
иk
одним заглавным символом набрала 963 .5
был персонаж с самой низкой кодовой точкой (53
), поэтому я начал с 52, который набрал 75651
дал лучший результат 738Последняя строка, таким образом, содержит символы в следующих кодовых точках:
источник
05AB1E , оценка 963
Попробуйте онлайн или проверьте все контрольные примеры .
Объяснение:
Посмотрите эту подсказку 05AB1E (разделы « Как сжать большие целые числа?» И « Как сжать целочисленные списки?» ), Чтобы понять, почему
•Fδà‚<0?9½mΣ@×ƶC₁vc-™uΔ_ε'•21в
это так[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,0,19,15,20,17,8,12,2,18,13,19,5]
.источник
C # (интерактивный компилятор Visual C #) (оценка
1627 1116 1096 1037 1019902)При этом не используется встроенная база данных: только специальный корпус для писем и справочная таблица.
Набор онлайн-тестов .
Он не может забить сам, потому что большинство персонажей не в диапазоне, в том числе переменных
CARON
иOHM SIGN
и зодиак символов , используемых для кодирования таблицы поиска.Спасибо ASCII-только за много предложений.
источник
Р; Оценка:
333015861443Также сложно в R из-за отсутствия встроенных модулей.
Ну, код теперь в основном @ Джузеппе, но все в порядке. Я смог внести небольшое изменение в гольф, заменив * на ~, а s на точку.
Спасибо @Nick Kennedy за то, что он опустил это до 1443 года с помощью
тайной магии"кодированной версии UTF8"Попробуйте онлайн
источник
utf8ToInt
это очень полезная команда для игры в гольф :-) Я не был на PPCG около месяца, так что приятно видеть новых людей, играющих в гольф в R!Python 3 , оценка 993
Попробуйте онлайн!
Ниже 1000 сейчас любые советы еще оценили.
-16 благодаря Кириллу Л.
источник
_
наˇ
на 987.Perl 5
-pl
, оценка 723Попробуйте онлайн!
объяснение
источник
Атташе , 1934
Попробуйте онлайн!
Простое сжатие и индексация.
источник
C # (интерактивный компилятор Visual C #) , оценка:
40073988375935512551Я чувствую себя раздавленным решением Питера Тейлора выше. Спасибо Питеру Тейлору за то, что он указал на простую таблицу поиска, которая была лучше моего предыдущего словарного решения.
Попробуйте онлайн!
источник
_1=>_1.Select(_2=>new int[]{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}[_2-32]).Sum()
оценка 2786.