Đây là một thách thức về các thủ thuật và tối ưu hóa có thể được sử dụng khi chơi golf ở Pyth. Người chơi gôn Pyth có thể nhận ra nhiều mánh khóe liên quan. Tuy nhiên, các cách tiếp cận và cấu trúc không quen thuộc có thể được tham gia, vì vậy hãy xem Mẹo Pyth cũng như Tham khảo nhân vật Pyth nếu bạn gặp khó khăn. Các giải pháp có thể được thử nghiệm ở đây .
Mục tiêu: Có 8 vấn đề, mỗi vấn đề có một đoạn Pyth để bạn tối ưu hóa. Mục tiêu của bạn là tạo ra một cái gì đó tương đương nhưng ngắn hơn. Các giải pháp tham chiếu tổng cộng 80 byte. Mục tiêu của bạn là đánh bại nó càng nhiều càng tốt.
Người chiến thắng sẽ đi đến bài nộp giải quyết tất cả 8 vấn đề với tổng số byte nhỏ nhất. Tiebreaker là bài trước.
Trả lời: Vui lòng làm hỏng toàn bộ câu trả lời của bạn, ngoại trừ tổng số điểm của bạn. Dự định rằng bạn không nhìn vào câu trả lời của người khác trước khi gửi câu trả lời của riêng bạn.
Mỗi lần gửi sẽ trả lời mọi vấn đề và đưa ra số byte tương ứng, nhưng hãy sử dụng triển khai tham chiếu nếu bạn không thể cải thiện nó.
Chi tiết: Nếu câu hỏi yêu cầu một giá trị hoặc đầu ra nhất định, q
sự bình đẳng là mong muốn, vì vậy 1
và !0
tương đương. Nếu câu hỏi yêu cầu kiểm tra xem một điều kiện có đúng không, thì đầu ra phải là sự thật nếu điều kiện đó là đúng và sai nếu điều kiện đó là sai, nhưng không bị ràng buộc ngoài điều đó. Bạn không thể trao đổi đúng thành sai và sai thành đúng. Nếu câu hỏi yêu cầu một cái gì đó được in, không có gì khác có thể được in ngoại trừ một dòng mới.
Tất cả các câu trả lời phải có giá trị cho cam kết gần đây nhất của Pyth kể từ khi đăng câu hỏi này.
Bài toán 1: Cho một tập hợp trong Q, xuất ra một danh sách chứa các phần tử của Q theo bất kỳ thứ tự nào.
; 3 bytes
f1Q
Bài toán 2: Xuất danh sách [1, 1, 0, 0, 1, 1, 0]
.
; 9 bytes
[J1JZZJJZ
Bài toán 3: Cho một số nguyên dương trong Q, kiểm tra xem tất cả các chữ số của Q có dương không (không bằng 0).
; 7 bytes
!f!TjQT
Bài 4: Cho một chuỗi trong z, kiểm tra xem z có chứa bất kỳ dấu ngoặc kép nào không - "
hoặc '
.
; 9 bytes
|}\'z}\"z
Bài 5: Ánh xạ Q = 1 thành 'Thắng', Q = 0 thành 'Tie' và Q = -1 thành 'Thua'.
; 20 bytes
@["Tie""Win""Lose")Q
Bài 6: In 0123456789
.
; 6 bytes
sm`dUT
Bài 7: Cho một chuỗi trong z, đếm số lần đảo.
(Lập chỉ mục i
và j
hình thành đảo ngược nếu i < j
nhưng z[i] > z[j]
).
; 17 bytes
ssmm>@zd@zkrdlzUz
Bài 8: Cho một danh sách theo z, đếm số phần tử liền kề lặp lại.
; 9 bytes
lfqFT.:z2
f1Q
các bộ lọcQ
trên một hàm luôn luôn đúng, vì vậy nó luôn xuất ra mọi phần tử của tập hợp.f
đưa ra một danh sách, đáp ứng mục tiêu trong câu hỏi đó.