Jest to wyzwanie dotyczące sztuczek i optymalizacji, które można wykorzystać podczas gry w golfa w Pyth. Golfiści Pyth mogą rozpoznać wiele z trików. Mogą jednak dotyczyć nieznanych podejść i konstrukcji, więc jeśli utkniesz, zapoznaj się z Pyth Tips, a także Pyth Character Reference . Rozwiązania mogą być testowane tutaj .
Cel: Istnieje 8 problemów, z których każdy zawiera fragment kodu Pyth do optymalizacji. Twoim celem jest stworzenie czegoś równoważnego, ale krótszego. Rozwiązania referencyjne mają łącznie 80 bajtów. Twoim celem jest pokonanie tego w jak największym stopniu.
Zwycięzca przejdzie do zgłoszenia, które rozwiązuje wszystkie 8 problemów przy najmniejszej całkowitej liczbie bajtów. Tiebreaker jest wcześniejszym postem.
Odpowiedź: Proszę zepsuć całą swoją odpowiedź, z wyjątkiem całkowitego wyniku. Celem jest, abyś nie patrzył na odpowiedzi innych ludzi przed przesłaniem własnych.
Każde przesłanie powinno rozwiązać każdy problem i podać odpowiednią liczbę bajtów, ale możesz skorzystać z implementacji referencyjnej, jeśli nie możesz jej poprawić.
Szczegóły: Jeśli numer zapytania do pewnej wartości lub wyjście, q
pożądane jest równość, tak 1
i !0
są równoważne. Jeśli pytanie wymaga przetestowania, czy warunek jest prawdziwy, wynik musi być prawdziwy, jeśli warunek jest prawdziwy, lub fałsz, jeśli warunek jest fałszywy, ale nie jest ograniczony. Nie możesz zamieniać wartości true na false i false for true. Jeśli pytanie wymaga wydrukowania czegoś, nic innego nie może zostać wydrukowane, tylko końcowy znak nowej linii.
Wszystkie odpowiedzi muszą być aktualne dla ostatniego zatwierdzenia Pyth w chwili zamieszczania tego pytania.
Problem 1: Biorąc pod uwagę zestaw w Q, wypisz listę zawierającą elementy Q w dowolnej kolejności.
; 3 bytes
f1Q
Problem 2: Wydrukuj listę [1, 1, 0, 0, 1, 1, 0]
.
; 9 bytes
[J1JZZJJZ
Problem 3: Biorąc pod uwagę dodatnią liczbę całkowitą w Q, sprawdź, czy wszystkie cyfry Q są dodatnie (nie zero).
; 7 bytes
!f!TjQT
Problem 4: Biorąc pod uwagę ciąg znaków z, sprawdź, czy z zawiera znaki cudzysłowu - "
lub '
.
; 9 bytes
|}\'z}\"z
Problem 5: Mapa Q = 1 na „Wygrana”, Q = 0 na „Remis”, a Q = -1 na „Przegrana”.
; 20 bytes
@["Tie""Win""Lose")Q
Problem 6: Drukuj 0123456789
.
; 6 bytes
sm`dUT
Problem 7: Biorąc pod uwagę ciąg znaków z, policz liczbę inwersji.
(Indeksuje i
i j
tworzy inwersję, jeśli i < j
ale z[i] > z[j]
).
; 17 bytes
ssmm>@zd@zkrdlzUz
Problem 8: Biorąc pod uwagę listę w, policz liczbę powtarzających się sąsiadujących elementów.
; 9 bytes
lfqFT.:z2
f1Q
filtrujeQ
funkcję, która jest zawsze prawdziwa, więc zawsze wypisuje każdy element zestawu.f
wypisuje listę, która spełnia cel tego pytania.Odpowiedzi:
52 bajty
źródło
54 bajty
źródło
""
jest False, ponieważnot ""
jest Prawdą.58 bajtów
źródło
V
(chociaż nadal nie do końca to rozumiem, ponieważ wykonujesz operacje wektorowe na operandach o nierównej długości), więc przepraszam za ten jeden, ale naprawdę powinienem pomyśleć oC\f
= /V
automatycznie obcina nierówne dane wejścioweTen post służy do gromadzenia najlepszych rozwiązań we wszystkich odpowiedziach. Edytuj w rozwiązaniu i w programie odpowiadającym, który pierwszy znalazł to rozwiązanie, jeśli są jakieś ulepszenia.
48 bajtów
źródło
57 bajtów
źródło
te\\st
jest fałszywie dodatni.