มินิกอล์ฟ 9 หลุม: คำอธิบาย
- 9 (ส่วนใหญ่ค่อนข้างง่าย) การท้าทายการเล่นกอล์ฟรหัสของความยากลำบากที่แตกต่างกัน
- บทลงโทษสำหรับการใช้ภาษาเดียวกันมากกว่าหนึ่งครั้ง
- ความท้าทายทั้งหมดเกี่ยวกับชุดรูปแบบเฉพาะ (ชุดรูปแบบนี้: การจัดการข้อความ)
- อินพุตและเอาต์พุตสามารถทำได้ทุกที่ที่เหมาะสม (เช่น STDIN และ STDOUT การอ่าน / เขียนไปยังไฟล์อาร์กิวเมนต์ของฟังก์ชันและค่าส่งคืนเป็นต้น) แต่ต้องไม่ฮาร์ดโค้ดในโปรแกรม
- แรงบันดาลใจอย่างมากจาก9 Hole ChallengeและText Mechanic
หลุม
รหัสกระเป๋ากอล์ฟ
รับสองสายเป็นอินพุต
เอาต์พุตจำนวนอักขระของสตริงแรกขณะที่ละเว้นอักขระใด ๆ ในสตริงที่สอง
ตัวอย่าง:f("foobarbaz", "ao")=>5ข้อความล่วงหน้าสำหรับการเล่นกอล์ฟ
รับสองสายเป็นอินพุต
เอาต์พุตสตริงแรกโดยทุกบรรทัดนำหน้าด้วยสตริงที่สอง
ตัวอย่าง:f("foo\nbar\nbaz", "a")=>"a foo\na bar\na baz"สงครามของแท็บ vs ช่องว่าง
รับสตริงsตัวเลขnและบูลีนb(ระบุตามที่คุณต้องการ) เป็นอินพุต
ถ้าbเป็นจริงเอาท์พุทที่sมีแท็บทุกแปลงเป็นnช่องว่าง
อื่นเอาท์พุทที่sมีnช่องว่างทุกแปลงเป็นแท็บ
ตัวอย่าง:f("if (x) {\n\tdoStuff();\n}", 4, true)=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"([sp]หมายถึงพื้นที่)เสาหลักของการเล่นกอล์ฟ
ใช้สตริง
sตัวเลขnและตัวเลขอื่นmเป็นอินพุต
เอาต์พุตsในคอลัมน์ของnบรรทัดแต่ละบรรทัดและmอักขระต่อคอลัมน์
นอกจากนี้ยังมีช่องว่างภายในหนึ่งช่องว่างระหว่างคอลัมน์
ตัวอย่าง:f("this is some placeholder text, foo bar baz...", 3, 5)=>this aceho foo is so lder bar b me pl text, az...ตัวอักษรที่เป็นมิตร
ใช้สตริงsและตัวเลขnเป็นอินพุต
การส่งออกกลุ่มที่พบมากที่สุดของตัวอักษรในnหากมีเน็คไทให้เอาท์พุทใด ๆ หรือทั้งหมด ตัวอย่าง: =>sf("abcdeabcfghiabc", 3)"abc"ตัวอักษร
ใช้สตริงเป็นอินพุตไข่กวนสำหรับอาหารเช้า
เอาต์พุตสตริงที่มีคำทั้งหมดที่มีสัญญาณรบกวน (สุ่มเรียงลำดับตัวอักษร) ยกเว้นตัวอักษรตัวแรกและตัวสุดท้าย
สำหรับความเรียบง่ายคิดว่าการป้อนข้อมูลจะมีรายการของ "คำว่า" s และพื้นที่แยกออกจากกัน (เช่นใน@$&_():;" foo bar,@$&_():;"ถือว่าเป็น "คำว่า.")
ตัวอย่าง:f("this is a sentence that will be scrambled")=>"tihs is a stcneene that wlil be sclamrbed"ASCIIfy
ใช้สตริงเป็นอินพุต
หากสตริงมีตัวเลขและช่องว่างเท่านั้นให้แทนที่ตัวเลขด้วยอักขระ ASCII ที่เกี่ยวข้อง (ลบช่องว่าง)
อื่นทำกลับ (ตัวอักษรตัวเลข)
ตัวอย่าง:f("ASCIIfy challenge")=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
ตัวอย่างที่ 2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")=>"ASCIIfy challenge"การแปลงมินิ - มินิ - มาร์คดาวน์
ใช้สตริงเป็นอินพุต
เอาต์พุตสตริงที่ถูกแปลงด้วย mini-markdown ดังที่ใช้ในข้อคิดเห็นใน Stack Exchange
นี่คือแม้กระทั่งรุ่นมินิเอ้อ: คุณต้องการเพียงที่จะจัดการ**bold**, และ*italics*คุณไม่จำเป็นต้องจัดการกับการทำรังที่ไม่ถูกต้องเช่น นอกจากนี้ยังคิดว่าเมื่อคุณเห็นตัวคั่น ( หรือ) ก็จะมักจะหมายถึงรูปแบบ (เช่น=> และ=> ) ตัวอย่าง: =>`code`**foo *bar** baz**`te**st**ingte<b>st</b>ingfoo* bar *bazfoo<i> bar </i>bazf("**foo** *bar **baz*** `qux`")"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"เฉพาะตัวละครที่ดีที่สุด
รับสตริงsตัวเลขnและสตริงrเป็นอินพุต
เอาท์พุทnตัวอักษร THsของแต่ละคำใน (มีการจัดทำดัชนี 0 คำจะถูกคั่นด้วยช่องว่าง)
หากความยาวของคำน้อยกว่าnใช้rสำหรับคำนั้นแทน
ตัวอย่าง:f("this is a test sentence foo bar baz", 2, "-")=>"i--snorz"
เกณฑ์การให้คะแนน
คะแนนของคุณคือผลรวมของจำนวนตัวละครในโปรแกรมของคุณ สำหรับทุกภาษาที่มีการทำซ้ำให้คูณ 110% ตัวอย่างเช่นหากคุณมีโซลูชันทับทิมสามตัวและจำนวนอักขระทั้งหมดของโซลูชันทั้งหมดคือ 1000 คะแนนของคุณคือ 1000 * 1.1 * 1.1 = 1210 ปัดเศษลงหากคุณมีคะแนนที่ไม่ใช่จำนวนเต็ม
โชคดี!
_ไม่เป็นไรเพราะฉันระบุว่าไม่ให้รวมไว้ ฉันแก้ไขเพื่อชี้แจงบางส่วนของคนอื่น
**foo***bar**baz*อะไร