Це виклик щодо хитрощів та оптимізацій, які можна використати при гольфі в Pyth. Піфі-гольфісти можуть розпізнати багато прийомів. Однак можуть бути задіяні незнайомі підходи та конструкції, тому погляньте на підказки Pyth , а також на Pyth Character Reference, якщо ви застрягли. Рішення можуть бути перевірені тут .
Мета: Є 8 проблем, у кожній із фрагментів Pyth для оптимізації. Ваша мета - створити щось рівнозначне, але коротше. Референтні рішення містять 80 байт. Ваша мета - перемогти це якомога більше.
Переможець перейде до подання, яке вирішує всі 8 задач з найменшою загальною кількістю байтів. Tierereaker - це раніше повідомлення.
Відповідь: Будь ласка, зіпсуйте всю свою відповідь, за винятком загальної оцінки. Мається на увазі, що ви не дивитесь на відповіді інших людей, перш ніж подавати власні.
Кожне подання повинно відповісти на кожну проблему та надати відповідне число байтів, але сміливо використовуйте реалізацію посилань, якщо не можете її покращити.
Подробиці: Якщо питання вимагає певного значення або вихід, q
рівність бажано, так 1
і !0
еквівалентні. Якщо питання вимагає перевірити, чи є умова істинною, результат повинен бути правдивим, якщо умова істинним, і хибним, якщо умова помилковим, але не обмеженим. Ви не можете міняти правду на хибну та хибну на справжню. Якщо питання вимагає, щоб щось було надруковано, більше нічого не може бути надруковано, крім останнього нового рядка.
Усі відповіді повинні бути дійсними для останнього пійт-комітету на час розміщення цього питання.
Проблема 1: Враховуючи набір у Q, виведіть список, що містить елементи Q у будь-якому порядку.
; 3 bytes
f1Q
Проблема 2: Виведіть список [1, 1, 0, 0, 1, 1, 0]
.
; 9 bytes
[J1JZZJJZ
Завдання 3: Враховуючи додатне ціле число у Q, перевірте, чи всі цифри Q позитивні (не нульові).
; 7 bytes
!f!TjQT
Проблема 4: Давши рядок у z, перевірте, чи z містить якісь лапки - "
або '
.
; 9 bytes
|}\'z}\"z
Завдання 5: Позначте Q = 1 на "Виграти", Q = 0 на "Зв'язати", а Q = -1 на "Втратити".
; 20 bytes
@["Tie""Win""Lose")Q
Проблема 6: Друк 0123456789
.
; 6 bytes
sm`dUT
Завдання 7: Давши рядок в z, підрахуйте кількість інверсій.
(Індексує i
і j
утворює інверсію, якщо i < j
так z[i] > z[j]
).
; 17 bytes
ssmm>@zd@zkrdlzUz
Завдання 8: Давши список у z, порахуйте кількість повторних суміжних елементів.
; 9 bytes
lfqFT.:z2
f1Q
фільтруєQ
функцію, яка завжди відповідає дійсності, тому вона завжди виводить кожен елемент набору.f
виводить список, який відповідає цілі цього питання.