Ваша задача состоит в том, чтобы написать программу, функцию и т. Д., Которая вычисляет, является ли переданная строка «в порядке». Это означает, что символы строки имеют коды символов в порядке от наименьшего к наибольшему. Наименьший код должен быть первым. Под этим я подразумеваю самые низкие коды Unicode и самые высокие. Неважно, какую кодовую страницу использует ваш язык.
Вы должны вернуть одно значение, если ввод «по порядку», и другое, если это не так. Значения должны быть разными, но других выходных значений нет. Например, вы можете распечатать / вернуть / вывести true
для !1AQaq¡±
(по порядку) и false
для aq!QA
. Два разных значения не обязательно должны быть правдой, ложью или чем-то в этом роде, просто два разных значения. Повторные строки (например. aa
) В порядке.
Вам нужно только поддерживать до Unicode U+007E
( ~
) (ASCII 126)
Однако символы вашей программы должны быть в порядке. Удачи и счастливого кода !
источник
"aa"
в порядке?Ответы:
Брахилог , 2 байта
Попробуйте онлайн!
объяснение
Как полная программа дает сбой утверждения
false.
, любой успешный запуск, который не нарушает никаких утверждений, даетtrue.
источник
Желе , 2 байта
Попробуйте онлайн!
объяснение
⁼Ṣ
также имеет правильную функциональность («сравнить ввод с отсортированным вводом»), так что это был всего лишь случай запуска двух программ на себя, чтобы выяснить, что было в порядке (у меня, конечно, нет кодовых точек Unicode этой части запоминается странный набор символов Желе).источник
⁼Ṣ
вместо. Вы можете увидеть кодовую страницу желе здесь .⁼Ṣ
делает точно так же, какṢ⁼
.MATL , 5 байтов
Выходы,
0
если вход в порядке, в1
противном случае.Попробуйте онлайн!
объяснение
Это вычисляет модуль (кодовые точки) каждого символа из входного значения с тем же индексом в отсортированном входном файле. Ввод в порядке, если и только если все результаты
0
.Например, рассмотрим входную строку
BCD!
. Сортировка это дает'!BCD
. Массивы кодовых точек соответственно[66 67 68 33]
и[33 66 67 68]
. Вычисление модулей дает[0 1 1 33]
, поэтому ввод не в порядке. Обратите внимание, что некоторые результаты могут быть0
даже в том случае, если значения не были одинаковыми (здесь это происходит в первой позиции), но это не может происходить во всех записях, если входные данные не в порядке.источник
05AB1E ,
32 байтаСпасибо Кевину за вырезание 33% моего исходного кода!
Попробуйте онлайн!
Объяснение:
источник
D{Q
тоже работает ...D
Может быть удалено из- за -1, используя только неявный вход в два раза.Пайк , 2 байта
Попробуйте онлайн!
источник
2sable , 2 байта
Попробуйте онлайн!
объяснение
Выводит 0, если это порядок, иначе 1 .
источник
Pyth, 2 байта
False
значит отсортированный,True
значит несортированный.Тестирование
Это было довольно нетривиально. Наиболее очевидное решение этой проблемы, без ограничения источника, является
SI
инвариантным при сортировке. Но это не отсортировано. Затем я подумалqS
, что неявно использует входную переменную дважды, проверяя, равна ли она самому себе. Но покаq < s
,q > S
так что это тоже не сработало. Но<
приходит раньшеS
, и единственный способ, которым отсортированная версия не может быть меньше оригинала, - это если оригинал был отсортирован, поскольку отсортированная версия - это лексикографически минимальная перестановка элементов.источник
CGL (CGL Golfing Language) , 4 байта (не конкурирующие)
Объяснение:
Не конкурирующие, потому что
:
,S
иc
были реализованы после создания этой задачи.источник