Я не знаю всех вас, но я не готовлюсь к Хэллоуину - никогда не знал, - но мой сосед, так что мы поможем ей.
Ей нужна помощь, чтобы выяснить, какую марку конфет у нее есть, но у нее столько конфет, что она не сможет закончить до Хэллоуина.
У нее есть:
- кроссовки
- Кит-Кат
- Starburst
- GummyBears
- Twix
вход
Многострочная строка (или любая другая разумная форма), содержащая только буквы и пробелы.
Выход
Ложное значение, если это не действительная конфета, или какая конфета это, если это конфета.
Как решить, что это за конфета
Конфета действительна, если на ней написано одно из вышеуказанных брендов. Однако это не так просто, потому что это настоящая конфета:
K i t
K a
t
Действительная конфета - это та, где:
- буквы в порядке слева направо
- буквы заглавные правильно
- письма, идя слева направо, а не делать как подъем и спуск
- буквы с пропущенными пробелами образуют один из указанных брендов
Это код-гольф , поэтому выигрывает самый короткий код в байтах!
Примеры
Truthys:
1.
kers
c
i
n
S
2.
Kit K a t
3.
St a
r b u
r st
4.
Bear s
G ummy
5.
T w i
x
Falsys:
1.
SNICKERS
2.
C n
a d y
3.
xiwT
4.
S C I
ss o
r s
5.
Kit
Kat
Ответы:
Pyth - 72 байта
Я надеюсь, что я поймал все крайние случаи. Будем базы сжимать конфеты.
Тестовый пакет .
источник
JavaScript (ES6),
221218216212208205201 байтПопробуй это здесь.
источник
Snick
,ears|T
и т.д. Я думаю , что вы можете исправить это путем добавления.split('|')
перед тем.indexOf
.ears|T
не в том, что в тестовых примерах допускаются только буквы. Тем не менее, вы правы, дляSnick
.Ракетка 446 байт
Ungolfed:
Тестирование:
Выход:
источник
JavaScript (ES6), 139 байт
Принимает ввод как массив строк с пробелами.
источник
R 199 символов
Ввод в форме символьной матрицы.
match
заботится о том, что это за конфета (она также проверяет заглавные буквы)Чтобы проверить, что буквы являются «восходящей» или «нисходящей» последовательностью, нам просто нужно проверить, увеличивается или уменьшается расположение первого непробельного символа (если есть) в каждой строке. Для этого мы
apply
diff
. Это может иметь какой-то ноль, иначе должно быть либо все положительное или все отрицательноеdiff
z
, и возьмите внешний продукт с собой. Если в diff смешаны положительные и отрицательные записи, то где-то во внешнем произведении будет отрицательная запись. Если так, верните ЛОЖЬ.Обратите внимание, что такие случаи, как
вернет пустой символьный вектор (в частности, не «Twix»), так как
match
будет пытаться соответствовать «Twxi».источник
Python 2,7, 254 байта
Я уверен, что это может быть в гольфе больше. Ввод представляет собой массив строк
s
.Попробуй это здесь!
источник