Желе , 7 6 байт (легко)
IAṢ⁼J$
Спробуйте в Інтернеті!
IAṢ⁼J$ jolly function on N:
IAṢ the increment list: get all the Increments, take their Absolute values, and Ṣort them
⁼ compare that to...
J$ range from 1 to len(N) -- this has an extra number, but that's fine because...
...the increment list is one shorter, and ⁼ will only compare that many values
Приймає введення як розділені комами числа в першому аргументі. Повертає 1, якщо послідовність весела, і 0, якщо її немає!
7-байтне рішення:
LRṖḟIA$
Спробуйте в Інтернеті!
Приймає введення як розділені комами числа в першому аргументі. Не повертає нічого, якщо список є веселою послідовністю перемичок, і щось якщо це не так.
Додавання цього рядка змушує працювати з жорсткою специфікацією:
Желе , 27 22 байт (важко, відгуки ласкаво просимо!)
ɠḲVIAṢ⁼J$ị“¢⁼D“¡KṀȥƘạ»
Спробуйте в Інтернеті!
ɠḲVIAṢ⁼J$ị“¢⁼D“¡KṀȥƘạ»
ɠḲV read a line, split on spaces and eValuate the numbers
IAṢ⁼J$ jolly function: see above!
ị ịndex the result into (remember Jelly is one-indexed, so 0 wraps around to the back):
“¢⁼D“ "Jolly" compressed if true,
¡KṀȥƘạ» or, "Not jolly" compressed if false!
27-байтове (жорстке) рішення:
LRṖḟIA$
ɠḲVÇ“¡KṀȥƘạ»“¢⁼D»L?
Спробуйте в Інтернеті!
Вмикає розділені пробілами номери stdin
і виводить "Веселий" або "Не веселий".
Пояснення:
LRṖḟIA$ jolly function:
LRP make a range (R) from 1 to the input length (L), popping off (P) the last number to make it 1 to N-1.
ḟ reverse filter: remove all the elements from that range that are members of...
IA$ the increment list: get all the increments, take their absolute values (expressed as one monad via '$').
ɠḲVÇ“¡KṀȥƘạ»“¢⁼D»L? i/o main function:
ɠḲV read a line from stdin, split it on spaces and have Python parse each number (handling negative signs)
Ç ? run the above, and use the result on the following conditional:
L? if the length of the result is truthy (non-empty):
“¡KṀȥƘạ» then, return Jelly compressed string "Not jolly",
“¢⁼D» else, return Jelly compressed string "Jolly".
Будь-який відгук дуже вдячний!