คำถามติดแท็ก whitespace

สำหรับความท้าทายที่เกี่ยวข้องกับการประมวลผลและการจัดวางอักขระช่องว่าง (ส่วนใหญ่ แต่ไม่ จำกัด เฉพาะช่องว่างแท็บและตัวดึงข้อมูลบรรทัด) เช่นความท้าทายที่เกี่ยวข้องกับการเยื้อง สำหรับความท้าทายเกี่ยวกับภาษาการเขียนโปรแกรมที่เป็นความลับช่องว่างใช้ [ช่องว่างภาษา] แทน

25
พิมพ์ Negative of Code ของคุณ
พิจารณาสแควร์ของอักขระ ASCII ที่พิมพ์ได้ (รหัสจุด 0x20 ถึง 0x7E) สำหรับความยาวด้านNเช่นดังต่อไปนี้ (ที่นี่, N = 6 ): =\ g \ 7 m+y "g L ~ e> PHq นอกจากนี้เรายังต้องใช้แต่ละแถวและแต่ละคอลัมน์จะมีอย่างน้อย1 พื้นที่และ1 ไม่ใช่พื้นที่ของตัวละคร (ตัวอย่างข้างต้นเป็นไปตามนี้) เรากำหนดค่าลบของสี่เหลี่ยมจัตุรัสดังกล่าวให้เป็นสี่เหลี่ยมจัตุรัสขนาดเดียวกันซึ่งแต่ละพื้นที่ถูกแทนที่ด้วยพื้นที่ว่างและในทางกลับกัน เช่นต่อไปนี้จะเป็นค่าลบที่ถูกต้องของตัวอย่างด้านบน: 1234 a b cd ZYXWV ! {} [ ] ? ตัวเลือกของอักขระที่ไม่ใช่ช่องว่างไม่เกี่ยวข้อง (ตราบใดที่อักขระเหล่านั้นมาจากช่วง ASCII ที่พิมพ์ได้) ความท้าทาย คุณจะเขียนโปรแกรมโดยใช้ซอร์สโค้ดแบบสี่เหลี่ยมที่มีความยาวด้านN> 1ซึ่งจะพิมพ์ค่าลบของตัวเองไปยัง STDOUT ต้องพิมพ์ช่องว่างต่อท้าย คุณสามารถหรือไม่พิมพ์บรรทัดใหม่ขึ้นบรรทัดเดียว กฎควินินปกติยังมีผลบังคับใช้ดังนั้นคุณต้องไม่อ่านซอร์สโค้ดของคุณเองไม่ว่าโดยตรงหรือโดยอ้อม …

30
วงเล็บแบบยืดได้
พิจารณาสตริงที่ไม่ว่างเปล่าของวงเล็บที่สมดุลอย่างถูกต้อง: (()(()())()((())))(()) เราสามารถจินตนาการได้ว่าวงเล็บแต่ละคู่แสดงถึงวงแหวนในโครงสร้างแบบยืดหดได้ ลองขยายกล้องโทรทรรศน์ออก: ( )( ) ()( )()( ) () ()() ( ) () อีกวิธีในการดูคือวงเล็บที่ความลึกnถูกย้ายไปที่บรรทัดnในขณะที่รักษาตำแหน่งแนวนอนไว้ งานของคุณคือการใช้สตริงของวงเล็บที่มีความสมดุลและสร้างเวอร์ชันเพิ่มเติม คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือเทียบเท่าที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรือพารามิเตอร์ฟังก์ชัน, และสร้างเอาต์พุตผ่าน STDOUT (หรือเทียบเท่าที่ใกล้เคียงที่สุด), ค่าส่งคืนหรือฟังก์ชัน (ออก) คุณอาจสมมติว่าสายป้อนข้อมูลที่ถูกต้องคือประกอบด้วยวงเล็บเท่านั้นซึ่งมีความสมดุลอย่างถูกต้อง คุณอาจพิมพ์ช่องว่างต่อท้ายในแต่ละบรรทัด แต่ไม่ต้องเว้นวรรคนำหน้าเกินความจำเป็น ยอดรวมบรรทัดต้องไม่ยาวเกินกว่าสองเท่าของความยาวของสตริงป้อนเข้า คุณสามารถเลือกที่จะพิมพ์ขึ้นบรรทัดใหม่ได้ ตัวอย่าง นอกเหนือจากตัวอย่างข้างต้นต่อไปนี้เป็นกรณีทดสอบอีกสองสามรายการ (อินพุตและเอาต์พุตถูกคั่นด้วยบรรทัดว่าง) () () (((()))) ( ) ( ) ( ) () ()(())((()))(())() ()( )( )( )() …

30
จากการเขียนโปรแกรมไขปริศนาไปจนถึง Code Golf
งานของคุณคือการเขียนโปรแกรมที่ส่งออกสตริงที่แน่นอนProgramming Puzzles (ขึ้นบรรทัดใหม่ทางเลือก) แต่เมื่อเว้นวรรคแท็บและบรรทัดใหม่ทั้งหมดจะถูกลบออกมันจะส่งออกCode Golf(ต่อท้ายขึ้นบรรทัดใหม่ก็ได้) จำนวนไบต์ของคุณคือการนับของโปรแกรมแรกโดยยังมีช่องว่าง หมายเหตุ ช่องว่างในCode Golf และ Programming Puzzlesจะถูกลบออกเป็นส่วนหนึ่งของการลบดังนั้นวางแผนให้เหมาะสม ในการเข้ารหัสโดยที่ 0x09, 0x0A และ 0x20 ไม่ใช่แท็บบรรทัดใหม่หรือช่องว่างตามลำดับตัวอักษรเหล่านั้นจะถูกลบ หากรหัสของคุณคือ 42 $@ rw$ @42 Programming Puzzlesแล้วที่ต้องเอาท์พุท นอกจากนี้ในภาษาเดียวกัน 42$@rw$@42 Code Golfการส่งออกต้อง นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ! โชคดี!

12
เยื้องกลับด้าน
ฉันได้ยินมาว่าโค้ดของคุณสามารถทำงานได้เร็วขึ้นหากคุณเยื้องในสิ่งที่ตรงกันข้ามเพื่อให้คอมไพเลอร์สามารถประมวลผลมันเหมือนรูปแบบการออกแบบต้นไม้จากส่วนบนสุดของ "สาขา" ลง สิ่งนี้จะช่วยได้เนื่องจากแรงโน้มถ่วงจะช่วยเร่งเวลาที่ต้องใช้ในการรวบรวมรหัสของคุณและปรับปรุงประสิทธิภาพของโครงสร้างข้อมูล นี่คือตัวอย่างในการเขียนสคริปต์ Java: function fib(n) { var a = 1, b = 1; while (--n > 0) { var tmp = a; a = b; b += tmp; if (a === Infinity) { return "Error!"; } } return a; } แต่ด้วยเหตุผลบางอย่าง Notepad ไม่ได้ตั้งค่าให้ทำสิ่งนี้โดยอัตโนมัติดังนั้นฉันต้องการโปรแกรมที่จะทำเพื่อฉัน ลักษณะ การส่งต้องใช้ข้อมูลโค้ดเป็นข้อมูลป้อนกลับการเยื้องและส่งออกโค้ดผลลัพธ์ ทำตามขั้นตอนต่อไปนี้: แยกรหัสออกเป็นเส้น …

24
ช่องว่างที่สำคัญ
เรากำหนดช่องว่างให้เป็นหนึ่งในสามของตัวละครแท็บ (0x09), ขึ้นบรรทัดใหม่ (0x0A) หรือเว้นวรรค (0x20) สำหรับความท้าทายนี้คุณต้องเขียนสองโปรแกรมหรือฟังก์ชั่นในภาษาการเขียนโปรแกรมเดียวกันซึ่งทำงานดังต่อไปนี้: นับอักขระช่องว่างในสตริงที่กำหนด ตัวอย่างเช่นการป้อนข้อมูล 123 -_- abc def จะส่งคืน 7 (หากไม่มีบรรทัดใหม่ต่อท้าย) แยกสตริงที่กำหนดที่ช่องว่างที่ต่อเนื่องกัน หากสตริงเริ่มต้นหรือลงท้ายด้วย whitespace ไม่ควรมีสตริงว่างที่ส่งคืนที่สิ้นสุด ตัวอย่างเช่นอินพุตเดียวกัน 123 -_- abc def ["123", "-_-", "abc", "def"]จะกลับมา ไม่ว่าในกรณีใดคุณสามารถป้อนข้อมูลผ่าน STDIN อาร์กิวเมนต์บรรทัดคำสั่งหรือฟังก์ชันอาร์กิวเมนต์ส่งคืนผลลัพธ์หรือพิมพ์ STDOUT สำหรับโปรแกรมที่สองหากคุณเลือกที่จะพิมพ์ไปยัง STDOUT โปรดพิมพ์แต่ละสตริงในบรรทัดของตัวเองโดยไม่ต้องใส่เครื่องหมายอัญประกาศ สำหรับทั้งสองโปรแกรมคุณอาจสมมติว่าอินพุตมีเฉพาะ ASCII ที่พิมพ์ได้ (0x20 ถึง 0x7E) และช่องว่าง ตอนนี้ที่นี่คือการจับ: หากช่องว่างทั้งหมดถูกลบออกจากทั้งสองโปรแกรม / ฟังก์ชั่นสตริงผลลัพธ์จะต้องเหมือนกัน นั่นคือสองส่งของคุณอาจเพียง แต่แตกต่างกันในจำนวนและตำแหน่งของตัวอักษรช่องว่าง โปรแกรม …

9
ตีแผ่ซอร์สโค้ดของ Hexagony
บทนำ หากคุณไม่คุ้นเคยกับHexagonyเป็นภาษาลึกลับที่สร้างโดย Martin Büttner สิ่งนี้คือภาษานี้ยอมรับหลายรูปแบบสำหรับโปรแกรม โปรแกรมต่อไปนี้เทียบเท่าทั้งหมด: abcdefg และ a b c d e f g ดังนั้นโดยพื้นฐานแล้วรหัสนั้นถูกรีดเป็นรูปหกเหลี่ยมปกติ แต่โปรดทราบว่าการเพิ่มคำสั่งใหม่ให้กับรหัสซึ่งabcdefghจะส่งผลให้โปรแกรมดังต่อไปนี้: a b c d e f g h . . . . . . . . . . . ในขณะที่คุณสามารถดูขั้นตอนแรกคือการรีดรหัสลงในรูปหกเหลี่ยมและหลังจากนั้นหกเหลี่ยมที่เต็มไปด้วยไม่มี Ops ( .) ถัดไปจำนวนหกเหลี่ยมศูนย์กลาง งานของคุณง่าย ๆ เมื่อได้รับสตริง (ซอร์สโค้ด) เอาต์พุตรหัสต้นฉบับหกเหลี่ยมแบบเต็ม กฎระเบียบ คุณอาจให้โปรแกรมหรือฟังก์ชั่น ช่องว่างนำหน้าได้รับอนุญาต แต่เมื่อหกเหลี่ยมไม่หลุดออกจากรูปร่าง …

30
การต่อท้ายความยาวสตริง
ท้าทาย: กำหนดสตริงsตัวอักษรa- z, A- Z, 0- 9ผนวกความยาวของsตัวเองนับตัวอักษรเพิ่มเติม (s) sมีความยาวเป็นส่วนหนึ่งของความยาวทั้งหมดของ การป้อนข้อมูล: เพียงสตริงที่มีความยาวโดยพลการ (ว่างเปล่า) เอาท์พุท: สตริงเดียวกัน แต่มีความยาวต่อท้าย ควรนับอักขระที่แสดงความยาวเป็นส่วนหนึ่งของความยาว ในกรณีที่มีความยาวที่ถูกต้องจำนวนมากเพื่อต่อท้ายเลือกขนาดที่เล็กที่สุดที่เป็นไปได้ (ดูตัวอย่างกรณีทดสอบ) กรณีทดสอบ: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

25
ช่องว่างสำคัญ: ตำรวจ
สำหรับวัตถุประสงค์ของการท้าทายนี้เราจะกำหนดช่องว่างเป็นlinefeeds เท่านั้น (0x0A) และช่องว่าง (0x20) โปรดทราบว่าภาษาและรสชาติ regex ส่วนใหญ่พิจารณาอักขระอื่น ๆ มากมายเช่นช่องว่างเช่นกันทั้งภายในและภายนอกช่วง ASCII ดังนั้นคุณอาจไม่สามารถใช้บิวด์อินที่สอดคล้องกันได้ The Cops 'Challenge คุณควรเขียนโปรแกรมหรือฟังก์ชั่นในภาษาที่คุณเลือกซึ่งใช้สตริงซึ่งประกอบด้วยอักขระ ASCII (ยกเว้น NUL) เป็นอินพุตและเอาต์พุตโดยลบช่องว่างทั้งหมดออก ตัวอย่างเช่นถ้าคุณได้รับอินพุตต่อไปนี้: H e l l o, W o r l d! คุณควรส่งออก Hello,World! การส่งของคุณจะเป็นซอร์สโค้ดของคุณโดยลบช่องว่างทั้งหมด (กระบวนการเดียวกับการส่งผ่านโซลูชันของคุณเป็นอินพุตเองแม้ว่าโซลูชันของคุณอาจมีอักขระอยู่นอกช่วง ASCII) เป้าหมายของคุณคือทำให้ยากที่สุดเท่าที่จะเป็นไปได้เพื่อหาว่าต้องใส่ช่องว่างเพื่อแก้ไขปัญหาที่ถูกต้องในภาษาที่คุณเลือก โปรดทราบว่าโจรอาจแทรกช่องว่างน้อยกว่าที่คุณนำออก แต่ไม่มาก โปรดจำไว้ว่าโจรไม่จำเป็นต้องจับคู่รหัสที่แน่นอนของคุณพวกเขาเพียงแค่ต้องหาวิธีแก้ปัญหาที่ถูกต้อง คำตอบของคุณควรมีสิ่งต่อไปนี้: ภาษา (และรุ่นหากจำเป็น) ที่คุณเขียนโซลูชันของคุณ จำนวนไบต์ของโซลูชันของคุณก่อนที่จะลบช่องว่าง โซลูชันของคุณเมื่อลบช่องว่างแล้ว โซลูชันของคุณอาจเป็นโปรแกรมหรือฟังก์ชัน แต่ไม่ใช่ข้อมูลโค้ดและคุณต้องไม่สมมติสภาพแวดล้อม REPL คุณสามารถรับอินพุตผ่าน …

7
หลีกเลี่ยงแม่น้ำ
พื้นหลัง ในการพิมพ์ตัวอักษรแม่น้ำเป็นช่องว่างที่มองเห็นได้ในบล็อกของข้อความซึ่งเกิดขึ้นเนื่องจากการจัดตำแหน่งของช่องว่างโดยบังเอิญ สิ่งเหล่านี้น่ารำคาญเป็นพิเศษเนื่องจากสมองของคุณดูเหมือนจะหยิบมันง่ายขึ้นในสายตาที่ต่อพ่วงซึ่งทำให้ตาของคุณเสียสมาธิ ยกตัวอย่างเช่นใช้บล็อกข้อความต่อไปนี้บรรทัดที่แตกจนความกว้างบรรทัดไม่เกิน82 อักขระ : Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eismod tempor incididunt ut labore et dolore maga aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate …

5
พระเจ้าของฉันมันเต็มไปด้วยช่องว่าง!
บางคนยืนยันที่จะใช้ช่องว่างสำหรับการจัดระเบียบและการเยื้อง สำหรับการจัดระเบียบนั่นผิดที่ไม่อาจปฏิเสธได้ ตามคำจำกัดความ tabulators จะต้องใช้สำหรับการทำตาราง แม้สำหรับการเยื้อง มีฉันทามติที่ชัดเจนในชุมชน Stack Exchange การใช้พื้นที่เดียวสำหรับการเยื้องเป็นสิ่งที่ไม่พึงประสงค์ทางสายตา การใช้มากกว่าหนึ่งรายการนั้นสิ้นเปลือง ทั้งหมดเป็นปลาจกอล์ฟ ERS รู้ว่าโปรแกรมที่ควรจะเป็นสั้นที่สุด ไม่เพียงช่วยประหยัดเนื้อที่บนฮาร์ดดิสก์เท่านั้นเวลาในการรวบรวมจะลดลงหากต้องดำเนินการกับไบต์ให้น้อยลง ด้วยการปรับความกว้างแท็บ1ไฟล์เดียวกันจะมีลักษณะแตกต่างกันไปในคอมพิวเตอร์แต่ละเครื่องดังนั้นทุกคนสามารถใช้ความกว้างของการเยื้องที่ชื่นชอบโดยไม่ต้องแก้ไขไฟล์จริง โปรแกรมแก้ไขข้อความที่ดีทั้งหมดใช้ tabulators โดยค่าเริ่มต้น (และคำจำกัดความ) ฉันพูดอย่างนั้นและฉันก็ถูกเสมอ! น่าเศร้าที่ทุกคนไม่ฟังเหตุผล มีคนส่งไฟล์ที่ผิดTMและคุณต้องแก้ไข คุณสามารถทำได้ด้วยตนเอง แต่จะมีคนอื่น มันไม่ดีพอที่ spacers จะเสียเวลาอันมีค่าของคุณดังนั้นคุณตัดสินใจที่จะเขียนโปรแกรมที่สั้นที่สุดเพื่อดูแลปัญหา งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ทำสิ่งต่อไปนี้: อ่านสตริงเดียวจาก STDIN หรือเป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือฟังก์ชั่น ระบุตำแหน่งที่ตั้งทั้งหมดที่มีการใช้ช่องว่างสำหรับการจัดตารางหรือการเยื้อง การเว้นวรรคเป็นการเยื้องถ้าเกิดขึ้นที่จุดเริ่มต้นของบรรทัด การเว้นวรรคตั้งแต่สองช่องขึ้นไปเป็นการจัดเรียงหากไม่มีการเยื้อง เดียวพื้นที่ที่ไม่ได้อยู่เยื้องอาจจะหรืออาจจะไม่ได้ถูกนำมาใช้สำหรับการจัดระเบียบ อย่างที่คาดไว้เมื่อคุณใช้ตัวละครเดียวกันเพื่อจุดประสงค์ที่แตกต่างกันไม่มีวิธีที่ง่ายที่จะบอกได้ ดังนั้นการที่เราจะบอกว่าพื้นที่ที่มีการใช้ความสับสน กำหนดความกว้างของแท็บที่ยาวที่สุดที่เป็นไปได้1ซึ่งช่องว่างทั้งหมดที่ใช้สำหรับการจัดระเบียบหรือการเยื้องสามารถถูกแทนที่ด้วย tabulators โดยไม่เปลี่ยนลักษณะที่ปรากฏของไฟล์ หากอินพุตไม่มีทั้งการจัดระเบียบและการเยื้องก็เป็นไปไม่ได้ที่จะกำหนดความกว้างของแท็บ ในกรณีนี้ให้ข้ามขั้นตอนถัดไป ใช้ความกว้างแท็บที่กำหนดไว้ก่อนหน้านี้แทนที่ช่องว่างทั้งหมดที่ใช้สำหรับการจัดระเบียบหรือการเยื้องกับตัวทำตาราง นอกจากนี้เมื่อใดก็ตามที่เป็นไปได้โดยไม่ต้องเปลี่ยนลักษณะที่ปรากฏของไฟล์ให้แทนที่ช่องว่างทั้งหมดที่ใช้สำหรับความสับสนด้วย tabulators (หากมีข้อสงสัยให้กำจัดช่องว่าง) ส่งคืนสตริงที่ถูกดัดแปลงจากฟังก์ชันของคุณหรือพิมพ์ไปที่ STDOUT …

3
แก้ลูกบาศก์ของรูบิค
เขียนโปรแกรมที่สั้นที่สุดที่แก้คิวบ์ของรูบิค (3 * 3 * 3) ภายในระยะเวลาที่เหมาะสมและเคลื่อนไหวได้ (พูดได้สูงสุด 5 วินาทีในเครื่องของคุณและน้อยกว่า 1,000 ครั้ง) อินพุตอยู่ในรูปแบบ: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (อินพุตเฉพาะนี้แสดงถึงคิวบ์ที่แก้ไขแล้ว) 12 สตริงอักขระ 2 ตัวแรกคือขอบในตำแหน่ง UF, UR, ... BL (U = ขึ้น, F = ด้านหน้า, R = …

20
รูปและพื้นดิน
ที่มา: Wikipedia สำหรับความท้าทายนี้คุณควรเขียนสองโปรแกรมซึ่งมีลักษณะคล้ายกับรูปและพื้นดินของภาพดังกล่าวข้างต้นดังกล่าวว่าหนึ่งในพวกเขาพิมพ์และพิมพ์อื่นfigure ๆ groundโดยเฉพาะ: figureเขียนโปรแกรมที่ใช้เวลาไม่ป้อนข้อมูลและพิมพ์สตริง อักขระช่องว่างที่อนุญาตเฉพาะในโปรแกรมของคุณคือช่องว่าง (รหัสจุด 0x20) และบรรทัดใหม่ (การขึ้นบรรทัดใหม่, 0x0D, linefeeds, 0x0A หรือการรวมกันของทั้งคู่) การไม่สนใจบรรทัดใหม่จำนวนของอักขระเว้นวรรค (รหัสจุด 0x20) และอักขระที่ไม่ใช่ช่องว่างจะต้องเหมือนกัน ตัวอย่างเช่นนี้จะเป็นโปรแกรมที่ถูกต้อง (ในภาษาสมมุติ): ab c d e f โปรดทราบว่ามีช่องว่างต่อท้ายในบรรทัดแรก หากคุณสลับnอักขระช่องว่าง TH กับn TH อักขระที่ไม่ใช่ช่องว่างโปรแกรมควรพิมพ์groundแทน สำหรับตัวอย่างข้างต้นโปรแกรมจะมีลักษณะเช่นนี้: a b cde f โปรดทราบว่ามีช่องว่างต่อท้ายในบรรทัดที่สองและสาม ทั้งตัวแบบและโซลูชันภาคพื้นดินควรเป็นโปรแกรมแบบเต็มในภาษาเดียวกันซึ่งพิมพ์ไปยัง STDOUT คุณสามารถพิมพ์บรรทัดใหม่ที่เป็นทางเลือกหนึ่งบรรทัดในกรณีใดกรณีหนึ่ง คุณสามารถส่งออกสิ่งที่คุณต้องการ STDERR ตราบใดที่ STDOUT ถูกต้อง คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - …

4
รหัสคำอธิบายตัวจัดรูปแบบ
การส่งรหัสกอล์ฟที่ประสบความสำเร็จนั้นเป็นไปตามธรรมชาติที่เต็มไปด้วยสัญลักษณ์บ้า ๆ ทั่วทุกแห่ง เพื่อให้เข้าใจง่ายยิ่งขึ้นนักกอล์ฟหลายคนเลือกที่จะรวมคำอธิบายเกี่ยวกับรหัสของตนไว้ด้วย ในคำอธิบายของพวกเขาบรรทัดของรหัสจะกลายเป็นแผนภาพระเบิดในแนวตั้ง ตัวอย่างเช่นหากนี่เป็นรหัสของฉัน: 1_'[3:~2@+]` หนึ่งในไดอะแกรมที่เป็นไปได้มากมายที่ฉันสามารถสร้างได้จะเป็นดังนี้: 1 _' [ ] [3: ] [ ~ ] [ 2@ ] [ +] ` เป้าหมาย ในความท้าทายนี้คุณจะเขียนคำอธิบายเครื่องมือการจัดรูปแบบอัตโนมัติซึ่งใช้บรรทัดของรหัสและสร้างไดอะแกรมที่สามารถเพิ่มข้อความอธิบายได้อย่างง่ายดาย เพื่อที่จะทำให้สิ่งนี้เป็นความท้าทายที่มีประโยชน์มากขึ้นผู้ใช้จะสามารถระบุเนื้อหาของแต่ละบรรทัดได้โดยการจัดเตรียมสตริงการจัดรูปแบบ สตริงการจัดรูปแบบจะเป็นบรรทัดที่สองที่มีตัวอักษรเท่านั้นA-Za-zซึ่งมีความยาวเท่ากับโปรแกรม ตัวอักษรแสดงลำดับที่ตัวอักษรของโปรแกรมควรพิมพ์ในคำอธิบาย นี่คือตัวอย่างของ I / O โดยไม่มีการจัดรูปแบบเหมือนวงเล็บ : 123423 AabcBC 1 2 3 2 3 4 วงเล็บ หากมีอักขระมากกว่าหนึ่งตัวในโปรแกรมที่มีระดับความสำคัญเท่ากันชุดของอักขระนั้นจะทำหน้าที่เป็นบล็อกเดียวของโค้ด (หากเป็นกลุ่ม) หรือชุดของวงเล็บ (หากมีอักขระอื่นอยู่ระหว่าง) กฎทั่วไปนั้นง่าย: อักขระจะไม่ปรากฏในบรรทัดของไดอะแกรมจนกว่าอักขระอื่น ๆ …

5
แบ่งแท็บครึ่งหนึ่ง
สงครามศักดิ์สิทธิ์ได้รับการต่อสู้กับช่องว่างกับแท็บ (และแน่นอนว่าพื้นที่นั้นมีความเหนือกว่าอย่างชนะชนะ) - Alex A. Sโอม PEO พี le ยังคงปฏิเสธที่จะccept ที่ WHI ค h คือ CL อี Arly s upreme คุณเพิ่งได้รับ ไฟล์โดยใช้ Incor ใหม่ CT, ขโฆษณาและ INF อีรูปแบบของ Rior WHI ทีเอสเพซและตอนนี้tเขาต่ออี nts ของไฟล์Rจปนเปื้อนและเจ๊ง คุณตัดสินใจว่าคุณอาจแสดงให้คนที่ส่งไฟล์ถึงคุณว่าพวกเขาผิดแค่ไหน - อย่างรุนแรง ลักษณะ ตามชื่อเรื่องความท้าทายของคุณคือการใช้ไฟล์ที่มีแท็บหนึ่งแท็บขึ้นไป: this is an evil tab onoes และทำลายพวกเขาอย่างไร้ความปราณีเป็นชิ้น ๆ : this is an …

23
จัดแนวเส้น!
จัดแนวเส้น! ให้ตัวละครและสตริงหลายงานของคุณคือการรองแต่ละบรรทัดของสตริงเพื่อให้พวกเขาเข้าแถวท่ามกลางตัวคั่นที่กำหนด ตัวอย่าง การป้อนข้อมูล: , Programming, Puzzles And, Code golf เอาท์พุท: Programming, Puzzles And, Code golf อินพุต การป้อนข้อมูลจะเป็นสตริงหลายบรรทัดและตัวละคร (ซึ่งคุณจะจัดชิด) คุณอาจใช้สิ่งเหล่านี้ในลำดับ / รูปแบบที่คุณต้องการ ตัวละครจะปรากฏขึ้นหนึ่งครั้งต่อบรรทัด แต่ละบรรทัดของอินพุตอาจมีความยาวแตกต่างกัน อินพุตสามารถผ่านอาร์กิวเมนต์ของฟังก์ชันหรือ STDIN เอาท์พุต เอาต์พุตควรเป็นสตริงเดียวกันที่อยู่กึ่งกลาง คุณได้รับอนุญาตให้ขึ้นบรรทัดใหม่หนึ่งบรรทัดและไม่มีช่องว่างต่อท้าย เอาต์พุตควรถูกเสริมด้วยจำนวนช่องว่างขั้นต่ำ คุณไม่สามารถลบช่องว่างนำหน้าในอินพุต (ถ้ามี) เอาต์พุตอาจมาจากฟังก์ชันส่งคืนหรือ STDOUT

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.