Учитывая имя сайта Stack Exchange, который еще не имеет собственного дизайна, решите, сколько символов ASCII (не ASCII считаются отдельно) на их значках. Ваш код должен различать эти 4 случая:
1 персонаж:
Astronomy
Beer
Freelancing
Health
History
Law
Music: Practice & Theory
Parenting
The Great Outdoors
Writers
2 персонажа:
3D Printing
Amateur Radio
Biblical Hermeneutics
Bitcoin
Board & Card Games
Buddhism
Chinese Language
Coffee
Community Building
Computational Science
Computer Graphics
Data Science
Earth Science
Ebooks
Economics
Emacs
Engineering
Expatriates
French Language
Gardening & Landscaping
Genealogy & Family History
German Language
Hardware Recommendations
Hinduism
Homebrewing
Islam
Italian Language
Japanese Language
Joomla
Lifehacks
Martial Arts
Mathematics Educators
Motor Vehicle Maintenance & Repair
Music Fans
Mythology
Open Data
Personal Productivity
Pets
Philosophy
Physical Fitness
Politics
Portuguese Language
Project Management
Puzzling
Quantitative Finance
Reverse Engineering
Robotics
Russian Language
Software Quality Assurance & Testing
Software Recommendations
Sound Design
Space Exploration
Spanish Language
Sports
Startups
Sustainable Living
Tridion
Vi and Vim
Video Production
Windows Phone
Woodworking
Worldbuilding
3 персонажа:
Cognitive Sciences
elementary OS
Ethereum
History of Science and Mathematics
Linguistics
Open Source
Programming Puzzles & Code Golf
Signal Processing
Tor
Non-ASCII:
Anime & Manga
Arduino
Aviation
Chess
CiviCRM
Poker
Исключено в этом испытании за то, что в их именах есть не-ASCII символы:
LEGO® Answers
Русский язык
Ваш код должен выводить непротиворечивое отличное значение для каждого из 4 наборов. Каждый вывод (или его строковое представление для нестроковых значений, возвращаемых функцией) должен быть не более 10 байтов, не считая необязательного завершающего символа новой строки.
Вы можете создать несколько частей кода на одном языке. Вывод вашего представления считается выводом каждого фрагмента кода, объединенного в фиксированном порядке (так что вы можете использовать Regex).
Самый короткий код выигрывает.
источник
画
. Но не легко спорить, является ли вещь на авиации✈
. Поэтому я решил пойти по самому легкому пути.Ответы:
CJam,
504845 байтВ приведенных выше строках есть непечатаемые символы, которые можно получить по фрагментам
Это также показывает, что все кодовые точки находятся ниже 256. Выходные данные
0
для 1 буквы,1
для 2 букв,2
для 3 букв и3
для не-ASCII.Программа просто преобразует входную строку в число 22, выполняет серию модулей для уменьшения числа перед тем, как выполнить поиск в кодированной таблице 4.
Попробуй это онлайн | Тестирование
источник
0123
Выходные данные не соответствуют количеству букв в каждой. Под «соответственно» я имел в виду порядок, указанный в OP, поэтому0
1 буква,1
2 буквы,2
3 буквы и3
не-ASCII. Смущает, да, но это был самый удачный выбор для игры.Сетчатка,
146136134130124107102 байтаСпасибо @ Sp3000 за 4 байта!
Спасибо @ Mwr247 за отыгрывание 17 байтов, позволив мне использовать регулярные выражения из его ответа !
Спасибо @ jimmy23013 за 5 байтов, напомнив, что я могу изменить выходные значения!
Выходные значения 1, 3, 2 и 4 для 1-символьного, 2-символьного, 3-символьного и не-ASCII соответственно.
Версия со всеми тестовыми сценариями имеет несколько правок, позволяющих работать с несколькими строками.
Попробуйте онлайн!
Попробуйте онлайн со всеми тестами!
источник
i?(ni|vi) -> [nv]?i
сейчас.(?!D)
.Javscript ES6,
342339330327 байтВозвращает длинную строку, начинающуюся с
9
одного символа, другую длинную строку, начинающуюся сb
двух, третью строку, начинающуюся сi
трех, и простоundefined
для non-ascii.источник
PowerShell,
212181 байтЯ обнаружил, что если вы возьмете первый, третий и последний символы каждой из возможных записей (
[0,2,-1]
при нулевом индексировании), мы получим уникальную трехбуквенную строку для каждой записи. Затем мы просто используем поиск на основе строк, чтобы определить, какой у нас есть.Принимает ввод
$args[0]
и применяет вышеуказанную функцию уникальности, сохраняет как$a
.Затем он отправляется через наш список поиска через
.IndexOf($a)
и результат сохраняется в$b
. Затем мы проходим через псевдо-троицу, которая индексирует на основе значения,$b
чтобы вывести соответствующее значение.Выходы
1
,2
,3
, и в4
течение одного-символа, два-символа, состоящий из трех символов, не ASCII, соответственно.Изменить - обнаружил, что
[0,2,-1]
создает уникальную трехсимвольную строку для каждой записи, сохраняя 31 байтисточник
JavaScript (ES6), 108 байт
Создает массив, состоящий из совпадений регулярных выражений, уникальных для каждой из трех наименьших групп (1 символ, 3 символа и не ascii), а затем сопоставляет тест с данными для каждого массива. Когда вывод является строковым, он оценивается
1,0,0
как non-ascii,0,1,0
для 3 символов,0,0,1
для 1 символа и0,0,0
для 2 символов.источник