Sân golf mini 9 lỗ: Mô tả
- 9 (hầu hết khá dễ) các thử thách chơi gôn với độ khó khác nhau
- Hình phạt cho việc sử dụng cùng một ngôn ngữ nhiều lần
- Tất cả các thách thức về một chủ đề cụ thể (chủ đề này: Thao tác văn bản)
- Đầu vào và đầu ra có thể ở bất cứ đâu hợp lý (ví dụ STDIN và STDOUT, đọc từ / ghi vào tệp, đối số hàm và giá trị trả về, v.v.) nhưng KHÔNG được mã hóa vào chương trình
- Lấy cảm hứng mạnh mẽ từ Thử thách 9 lỗ và Cơ chế văn bản
Lỗ
Mã túi golf
Lấy hai chuỗi làm đầu vào.
Xuất số ký tự của chuỗi thứ nhất, trong khi bỏ qua mọi sự xuất hiện của bất kỳ ký tự nào trong chuỗi thứ hai.
Ví dụ:f("foobarbaz", "ao")=>5Một văn bản trước cho golf
Lấy hai chuỗi làm đầu vào.
Xuất chuỗi đầu tiên, với mỗi dòng có tiền tố thứ hai.
Ví dụ:f("foo\nbar\nbaz", "a")=>"a foo\na bar\na baz"Cuộc chiến giữa các tab và không gian
Lấy một chuỗis, một sốnvà một booleanb(được chỉ định theo cách bạn muốn) làm đầu vào.
Nếublà đúng, đầu rasvới mỗi tab được chuyển đổi thànhndấu cách.
Khác, xuất rasvới mọinkhông gian được chuyển đổi thành các tab.
Ví dụ:f("if (x) {\n\tdoStuff();\n}", 4, true)=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"([sp]có nghĩa là không gian)Trụ cột của golf
Lấy một chuỗi
s, một sốnvà một số khácmlàm đầu vào.
Đầu rastrong các cột củanmỗi dòng vàmký tự trên mỗi cột.
Cũng có phần đệm của một khoảng trống giữa các cột.
Ví dụ:f("this is some placeholder text, foo bar baz...", 3, 5)=>this aceho foo is so lder bar b me pl text, az...Thư thân thiện
Lấy một chuỗisvà một sốnlàm đầu vào.
Xuất ra nhómnchữ phổ biến nhất trongs.
Nếu có sự ràng buộc, hãy xuất bất kỳ hoặc tất cả chúng.
Ví dụ:f("abcdeabcfghiabc", 3)=>"abc"Scrambled
Lấy một chuỗi làm đầu vào.trứngchữ cho bữa ăn sáng
Xuất chuỗi với tất cả các từ của nó được xáo trộn (thứ tự chữ ngẫu nhiên) ngoại trừ chữ cái đầu tiên và chữ cái cuối cùng của chúng.
Để đơn giản, giả sử rằng đầu vào sẽ là một danh sách "từ", khoảng cách được phân tách (nghĩa là trong@$&_():;" foo bar,@$&_():;"được coi là "từ.")
Ví dụ:f("this is a sentence that will be scrambled")=>"tihs is a stcneene that wlil be sclamrbed"ASCIIfy
Lấy một chuỗi làm đầu vào.
Nếu chuỗi chỉ chứa số và khoảng trắng, thì thay thế số bằng ký tự ASCII tương ứng của chúng (xóa khoảng trắng).
Khác, làm ngược lại (ký tự cho số).
Ví dụ:f("ASCIIfy challenge")=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
Ví dụ 2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")=>"ASCIIfy challenge"Biến đổi mini-markdown
Lấy một chuỗi làm đầu vào.
Xuất chuỗi được chuyển đổi với đánh dấu nhỏ, như được sử dụng trong các nhận xét về Stack Exchange.
Đây là một thậm chí phiên bản mini-er: bạn chỉ cần để xử lý**bold**,*italics*và`code`.
Bạn không cần xử lý lồng không hợp lệ, như thế nào**foo *bar** baz*. Cũng giả sử rằng khi bạn nhìn thấy một dấu phân cách (*hoặc`), nó sẽ luôn có nghĩa là định dạng (tức làte**st**ing=>te<b>st</b>ingvàfoo* bar *baz=>foo<i> bar </i>baz).
Ví dụ:f("**foo** *bar **baz*** `qux`")=>"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"Chỉ những nhân vật tốt nhất
Lấy một chuỗis, sốnvà chuỗirlàm đầu vào.
Xuấtnký tự thứ của mỗi từ trongs. (0 chỉ mục, các từ được phân tách bằng dấu cách).
Nếu độ dài của từ nhỏ hơnn,rthay vào đó hãy sử dụng từ đó.
Ví dụ:f("this is a test sentence foo bar baz", 2, "-")=>"i--snorz"
Chấm điểm
Điểm của bạn là tổng số ký tự của các chương trình của bạn. Đối với mỗi ngôn ngữ lặp lại, nhân với 110%. Ví dụ: nếu bạn có ba giải pháp Ruby và tổng số ký tự của tất cả các giải pháp của bạn là 1000, điểm của bạn là 1000 * 1.1 * 1.1 = 1210. Làm tròn xuống nếu bạn có điểm không nguyên.
Chúc may mắn!
_không vấn đề gì vì tôi đã chỉ định không bao gồm nó. Tôi đã chỉnh sửa để làm rõ một số người khác.
**foo***bar**baz* ?