มินิกอล์ฟ 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
หากมีเน็คไทให้เอาท์พุทใด ๆ หรือทั้งหมด ตัวอย่าง: =>s
f("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**ing
te<b>st</b>ing
foo* bar *baz
foo<i> bar </i>baz
f("**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*
อะไร