คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

1
เชื่อมต่อตัวอักษร
แรงบันดาลใจจากเกมนี้น้อย ท้าทาย รับเป็นอินพุตตำแหน่งเริ่มต้นของตาราง (เสมอ 5x5) เช่นนี้ -ABCD -A--- ---C- ---BD --E-E คุณต้องเชื่อมต่อตัวอักษร (ตัวอักษรเดียวกันทั้งหมดเข้าด้วยกัน) เพื่อลบ-ช่องว่างทั้งหมด A,B,C,D and Eตัวอักษรจะถูกเสมอ ตัวอักษรทุกคู่จะต้องเชื่อมต่อกันด้วยเส้นที่ไม่มีการแบ่งบรรทัดเดียวที่สามารถงอที่มุมฉาก (ใช้ตัวอักษรเดียวกันมากเพื่อแสดงบรรทัด) การป้อนข้อมูลจะรับประกันว่าจะมีตัวอักษรเริ่มต้นแต่ละตัว 2 ครั้งและจะมีตัวอักษรเริ่มต้นทั้งหมด AE อินพุตสามารถอ่านได้จาก stdin หรือสตริงเดียวเท่านั้นที่โต้แย้งกับฟังก์ชั่นบางอย่างหรือแม้แต่อาร์เรย์ / matriz / list of chars ซึ่งเป็นวิธีที่สะดวกที่สุดในการเขียนโค้ดภาษาของคุณ ตั้งแต่นี้เป็นรหัสที่สั้นที่สุดในการเล่นกอล์ฟรหัสไบต์ชนะ! ตัวอย่าง ไม่มีวิธีแก้ปัญหาเดียวเท่านั้นสำหรับแต่ละปัญหา แต่กฎใช้กับทุกคน (ไม่มีที่ว่างและไม่มีตัวอักษรแยก) และอินพุตนั้นรับประกันว่าจะมีเอาต์พุตที่ถูกต้องอย่างน้อยหนึ่งตัว เริ่มเชื่อมต่อตัวอักษร A: AABCD AA--- AA-C- AA-BD AAE-E ตอนนี้เชื่อมต่อตัวอักษร B: AABCD AAB-- …
10 code-golf 

7
ขั้นตอนสุดท้ายของการปนเปื้อน
มีไวรัสอยู่ภายในผู้รับ 5x5 เมื่อเรารู้ว่ามันแพร่กระจายการปนเปื้อนภารกิจของคุณคือการส่งออกขั้นตอนสุดท้ายของการปนเปื้อน ผู้รับ มันจะแสดงเป็นอาร์เรย์สองมิติขนาด 5x5: 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 ในกรณีที่1หมายถึงตำแหน่งที่ไวรัสได้ที่ปนเปื้อนอยู่แล้วและ0ตำแหน่งไม่ปนเปื้อน ไวรัสแพร่กระจายอย่างไร ตำแหน่งที่ปนเปื้อนไม่สามารถทำความสะอาดได้ ตำแหน่งที่สะอาดจะถูกปนเปื้อนในขั้นตอนต่อไปเฉพาะในกรณีที่ตำแหน่งที่อยู่ติดกันอย่างน้อยสองแห่ง (เซลล์เหนือ, ตะวันออก, ใต้และตะวันตก) มีการปนเปื้อน ขั้นตอนสุดท้ายของการปนเปื้อนเกิดขึ้นเมื่อไม่มีเซลล์ที่สะอาดอีกต่อไปที่จะปนเปื้อน ตัวอย่าง เมื่อใช้ตามขั้นตอนที่ 1 ของการปนเปื้อนที่ผู้รับอธิบายไว้ข้างต้นขั้นตอนที่ 2 จะเป็น: 0 0 0 0 …

1
การตรวจหาชื่อไฟล์ที่เป็นมิตรกับมนุษย์
บทนำ ชื่อไฟล์สามารถที่แตกต่างกันอย่างดุเดือดสิ่งตั้งแต่ง่ายไปblah.txt 303549020150514101638190-MSP0.txtอดีตมักจะเป็นมนุษย์สร้างขึ้นในขณะที่หลังมักจะสร้างเครื่อง มันจะดีหรือไม่ถ้ามีฟังก์ชั่นง่าย ๆ เพื่อคาดเดาการศึกษาว่าไฟล์นั้นอาจถือเป็น "มิตรกับมนุษย์" หรือไม่? แรงบันดาลใจจากโพสต์โดย Eduard Florinescu ที่ถูกลบไปแล้ว ความคิดของเขาเป็นสิ่งที่ดี แต่ต้องการเพียงเล็กน้อย fleshing ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นในภาษาที่คุณเลือกซึ่งสามารถรับสตริงและพิจารณาว่าเป็น "มนุษย์เป็นมิตร" ตามที่กำหนดโดยความท้าทายนี้ รายละเอียดและกฎเพิ่มเติมบางประการมีดังนี้: อินพุตจะเป็นสตริงที่ประกอบด้วยอักขระ ASCII ที่พิมพ์ได้ 95 ตัว "เป็นมิตรกับมนุษย์" จะถูกกำหนดด้วยเหตุนี้: ไม่รวมส่วนขยายในการพิจารณา นามสกุลถูกกำหนดเป็นช่วงเวลาสุดท้ายตามด้วยชุดของอักขระตัวเลขและตัวอักษร (น้อยที่สุด 1, มากถึง 6) ไม่เกินครึ่งของสตริงตามความยาว (ไม่รวมส่วนขยาย) อาจประกอบด้วยกลุ่มของอักขระที่กำหนดไว้ต่อไปนี้ (รวมกัน): อักขระทศนิยมมีความยาวมากกว่า 8 ในหนึ่งแถว อักขระเลขฐานสิบหก (ตัวพิมพ์เล็กหรือตัวบน xor) อย่างน้อย 16 ตัวในหนึ่งแถว (ต้องประกอบด้วยตัวอักษรและตัวเลขและอย่างน้อยหนึ่งในสามของตัวอักษรเป็นตัวเลข) อักขระ Base64 (ใช้%+=เป็นอักขระพิเศษ) …

14
ย้อนกลับอาร์เรย์ N-Dimensional
รายละเอียด เขียนฟังก์ชั่นหรือโปรแกรมที่กำหนดอาร์เรย์ (หรือรายการ) ที่มีจำนวนเต็มเท่านั้นส่งคืนหรือส่งออกอาร์เรย์ที่มีองค์ประกอบย่อยทั้งหมดกลับรายการ นั่นคือย้อนกลับองค์ประกอบทั้งหมดของอาร์เรย์ที่ลึกที่สุดจากนั้นลึกที่สุดที่สอง ฯลฯ ไม่จำเป็นต้องระบุขนาด แต่ฟังก์ชั่นหรือโปรแกรมจะต้องทำงานสำหรับอาร์เรย์ขรุขระในรูปแบบดั้งเดิมของภาษาโปรแกรมของคุณ ตัวอย่าง นี้: [[1,2], [3,4]] จะกลายเป็นสิ่งนี้: [[4,3], [2,1]] นี้: [[[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9]], [[10,11,12], [13,14,15], [16,17,18]], [[19,20,21], [22,23,24], [25,26,27]], [[28,29,30], [31,32,33], [34,35,36]], [[37,38,39], [40,41,42], [43,44,45]], [[46,47,48], [49,50,51], [52,53,54]]] จะกลายเป็นสิ่งนี้: [[[54,53,52], [51,50,49], [48,47,46]], [[45,44,43], [42,41,40], [39,38,37]], …
10 code-golf 

3
ค้นหาตัวอักษรอื่น
คุณอาจเคยเห็นปริศนาแบบนี้: ค้นหา0: OOOOOOOOOOOOOOOOOOOO0OOOOOOOOOOOOOOOOOO ความท้าทายคือการเขียนโปรแกรมที่ค้นหาดัชนีของตัวอักษรต่าง ๆ ที่ให้ภาพ อินพุต Imageการป้อนข้อมูลจะเป็น ภาพจะประกอบด้วยหนึ่งบรรทัดของสีดำข้อความในHelvetica 24 จุด แบบอักษรบนพื้นหลังสีขาว ข้อความจะประกอบด้วยตัวเลือกสองตัวอักษร: ตัวละครหนึ่งตัวที่ซ้ำกันและตัวละครตัวหนึ่งที่ปรากฏเพียงครั้งเดียว ตัวอย่างเช่น เอาท์พุต การส่งออกจะเป็นIntegerดัชนีของตัวละครที่แตกต่างกัน 4ในตัวอย่างข้างต้นส่งออกจะได้รับ (โปรดสังเกตว่าดัชนีของสตริงเริ่มต้นที่0) ข้อมูลจำเพาะของโปรแกรม ตามปกติสำหรับรหัสกอล์ฟโปรแกรมที่สั้นที่สุดชนะ กรณีทดสอบ => 10 => 11 => 5 => 16 => 10 => 21 => 20 => 13 => 11 => 4 => 7

16
พิมพ์ความแตกต่างในลำดับ Thue-Morse
หมายเหตุเมื่อฉันพูดว่า "ลบล้าง" ฉันหมายถึงแทนที่ค่าทั้งหมดด้วยศูนย์ (เช่นการลบล้างแบบ bitwise) ลำดับ Thue-Morse เป็นเช่น 01101001 วิธีที่คุณสร้างมันคือ: เริ่มต้นด้วยการ 0 ปฏิเสธสิ่งที่เหลืออยู่และผนวกเข้ากับท้าย เอา0ล่ะ ลบมันและเพิ่มไปยังจุดสิ้นสุด -01 จากนั้นนำสิ่งนั้นมาและลบล้างมันและบวกมันไปยังจุดสิ้นสุด - 0110 และอื่น ๆ คุณสมบัติที่น่าสนใจอีกอย่างของที่นี่คือระยะห่างระหว่างศูนย์สร้างสตริง "ไม่มีเหตุผล" และสตริงที่ไม่ซ้ำกัน ดังนั้น: 0110100110010110 |__|_||__||_|__| 2 1 0 2 01 2 <------------Print this! คุณสามารถเขียนโปรแกรมที่เมื่อป้อน n จะส่งออกตัวเลข n ตัวแรกของสตริงที่จะพิมพ์หรือไม่? นี่คือรหัสกอล์ฟจำนวนไบต์ที่สั้นที่สุดจึงจะชนะ!

3
ฉันตะโกนด้วยพลังกี่คำ?
ใน Skyrim ตัวละครผู้เล่นสามารถใช้เวทมนต์ตะโกนอันทรงพลัง (Thu'ums) เพื่อบรรลุเป้าหมาย ทุกเสียงร้องประกอบด้วยสามคำอย่างไรก็ตามผู้เล่นสามารถใช้หนึ่งหรือสองคำแรกเพื่อให้ได้เอฟเฟกต์เดียวกันโดยใช้พลังงานน้อยลง แต่ใช้คูลดาวน์ที่สั้นกว่า ด้วยวลี ASCII Thu'um ตัวพิมพ์เล็กโดยไม่มีเครื่องหมายวรรคตอนหรือช่องว่างให้คืนค่าจำนวนคำที่มีอยู่ ตัวอย่าง: fusrodah -> 3 dur -> 1 kaandrem -> 2 odah -> 2 vengaarnos -> 3 การป้อนข้อมูลจะเสมอเป็นสตริงตัวพิมพ์เล็ก ASCII ที่เกิดขึ้นจากการหนึ่งตะโกนดังต่อไปนี้การเลือกครั้งแรก 1, 2, 3 หรือคำจากตะโกนนั้นและเชื่อมโยงคำพูดในการสั่งซื้อ dur neh viir faas ru maar feim zii gron fo krah diin fus ro dah gaan …

13
สร้างชุดค่าผสมพร้อมการแทนที่
แสดงรายการชุดค่าผสมทั้งหมดด้วยการแทนที่ (หรือชุดค่าผสมที่มีการทำซ้ำ) ขนาดkจากชุดองค์ประกอบn การรวมกันกับการเปลี่ยนเป็น MultiSet เรียงลำดับว่าองค์ประกอบในทุกนอกจากนี้ยังมีอยู่ในชุดของnองค์ประกอบ โปรดทราบว่า: มันไม่มีการเรียงลำดับ ดังนั้นชุดที่พิมพ์ไว้ก่อนหน้านี้ที่มีลำดับที่แตกต่างกันจึงไม่ควรพิมพ์อีกครั้ง มันเป็นมัลติเซ็ต องค์ประกอบเดียวกันสามารถ (แต่ไม่ต้องการ) ปรากฏมากกว่าหนึ่งครั้ง นี่เป็นข้อแตกต่างระหว่างชุดค่าผสมที่มีการแทนที่และชุดค่าผสมปกติเท่านั้น ชุดควรมีองค์ประกอบkอย่างแน่นอน หรืออีกทางหนึ่งก็ยังเป็น size- kย่อยของ MultiSet ที่มีแต่ละnองค์ประกอบkครั้ง อินพุตควรเป็นทั้งnและkโดยที่อิลิเมนต์เป็นจำนวนเต็มบวกหรือไม่ใช่ลบแรกหรือองค์ประกอบnและkซึ่งคุณสามารถสันนิษฐานได้ว่าองค์ประกอบnนั้นแตกต่างจากกัน เอาต์พุตควรเป็นรายการของชุดค่าผสมทั้งหมดพร้อมการแทนที่ด้วยขนาดkจากชุดที่กำหนด คุณสามารถพิมพ์และองค์ประกอบในแต่ละรายการในลำดับใดก็ได้ คุณไม่สามารถใช้ builtins ที่สร้างชุดค่าผสมพร้อมการแทนที่ แต่คุณสามารถใช้ builtins เพื่อสร้างชุดค่าผสมปกติพีชคณิต tuples ฯลฯ นี่คือรหัส - กอล์ฟรหัสที่สั้นที่สุดชนะ ตัวอย่าง Input: 4 2 Output: [0 0] [0 1] [0 2] [0 3] [1 1] [1 …

4
ASCII dank star
คำอธิบายอินพุต สตริง (เพื่อผลลัพธ์ที่ดีที่สุดอักขระทั้งหมดควรพิมพ์ได้และมีความกว้างเท่ากัน) คำอธิบายผลลัพธ์ ตัวละครดาวตามรูปแบบ: 0 0 0 1 1 1 222 0123210 222 1 1 1 0 0 0 ที่0, 1... ตัวละครที่ตามมาของสตริง ผลลัพธ์ไม่จำเป็นต้องเป็นหนึ่งสาย - การพิมพ์อักขระถ่านด้วยอักขระลงในคอนโซลเป็นเรื่องปกติ ตัวอย่าง >> star('overflow') >> o o o v v v e e e r r r f f f l l l ooo overflowolfrevo …

2
เคล็ดลับสำหรับการเล่นกอล์ฟใน Retina
คุณมีเคล็ดลับทั่วไปสำหรับการเล่นกอล์ฟในRetinaอย่างไร ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะกับ Retina (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ สำหรับการอ้างอิงคอมไพเลอร์ออนไลน์เป็นที่นี่ @ SP3000 ชี้ให้เห็นนอกจากนี้ยังมีเคล็ดลับสำหรับการ Regex กอล์ฟ คำตอบที่นี่ควรเน้นเฉพาะในคุณลักษณะของ Retina และไม่เกี่ยวกับเคล็ดลับการเล่นกอล์ฟ regex ทั่วไป
10 code-golf  tips 

9
เคล็ดลับสำหรับการเล่นกอล์ฟใน D2
สิ่งใดที่คุณมีเคล็ดลับทั่วไปสำหรับการเล่นกอล์ฟในD ? ฉันกำลังมองหาแนวคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะเจาะจงกับ D (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
10 code-golf  tips 

1
โหมดอัตโนมัติ
เฮลิคอปเตอร์ที่เริ่มต้นที่มุมซ้ายบนสุดจะลงมา (ในพื้นที่ 2 มิติเพื่อจุดประสงค์ของคำถามนี้) สู่พื้น มันมีโหมดอัตโนมัติและโหมดแมนนวล โหมดอัตโนมัติทำงานดังนี้: หากช่องว่างด้านล่างว่างให้ลงไป มิฉะนั้นย้ายขั้นตอนไปทางซ้ายหรือขวาโดยสิ้นเชิงโดยการสุ่ม (อาจย้ายหลายขั้นตอนในลักษณะนี้) และมันยังคงทำซ้ำสองขั้นตอนเหล่านี้จนกระทั่งมันกระทบพื้น โหมดแมนนวลนั้นฉลาดกว่าและจะหาเส้นทางที่ดีที่สุดไปยังพื้นดินแม้ว่ามันจะต้องเคลื่อนที่ขึ้นไปหรือต้องใช้ความชำนาญ งานของคุณคือการตรวจสอบว่า อัตโนมัติจะผ่านในสถานการณ์ที่กำหนด อัตโนมัติอาจล้มเหลวในสถานการณ์ที่กำหนด Autopilot จะล้มเหลว แต่โหมดแมนนวลจะผ่านหรือ ทั้งสองโหมดจะล้มเหลว (ไม่มีเส้นทางที่ถูกต้องไปยังพื้นดิน) อินพุต รับสถานการณ์เป็นอาร์เรย์ 1d หรือ 2d ที่ไม่ว่างโดยใช้อักขระสองตัวที่แตกต่างกันเพื่อแทนช่องว่างที่ว่างและถูกบล็อก เครื่องหมายวรรคตอนเป็นตัวเลือก ทางเลือก: ขนาดของอาร์เรย์ เอาท์พุต หนึ่งในสี่ตัวอักษรที่กำหนดไว้ล่วงหน้าซึ่งระบุกรณีที่เกิดขึ้น ข้อมูลตัวอย่าง ใช้ 0 (ว่าง) และ 1 (บล็อค) ในอินพุต, 1 2 3 4 ในเอาต์พุต (ตามหมายเลขด้านบน) 0 0 0 0 0 …

4
เขียน Semiquine
สมมติว่าคุณมี 2 ภาษาและA Bสตริงsเป็นเซมินอินAและBถ้าเป็นไปตามเงื่อนไขต่อไปนี้: sAเป็นควินในภาษา sเป็นหลายภาษาในและAB ผลลัพธ์ของการทำงานsเป็นBโปรแกรมเป็นสตริงที่แตกต่างกันซึ่งเป็นควินในs'B เป้าหมายของการท้าทายนี้คือการเขียนเซมิไฟนอลในสองภาษาที่แตกต่างกัน นี่คือcode-golfดังนั้นรหัสที่สั้นที่สุดชนะด้วยคำตอบแรกสุดที่ใช้เป็น tiebreaker กฏสำหรับ Quines ยอมรับ Quines จริงเท่านั้น นั่นคือคุณต้องพิมพ์คำต่อคำทั้งหมดเพื่อ STDOUT โดยไม่ต้อง : อ่านซอร์สโค้ดของคุณโดยตรงหรือโดยอ้อม อาศัยสภาพแวดล้อม REPL ซึ่งเพียงแค่ประเมินและพิมพ์นิพจน์ทุกครั้งที่คุณป้อน อาศัยคุณสมบัติภาษาที่เพิ่งพิมพ์ออกมาในบางกรณี ใช้ข้อความแสดงข้อผิดพลาดหรือ STDERR เพื่อเขียนทั้งหมดหรือบางส่วนของควิน (คุณสามารถเขียนสิ่งต่าง ๆ ไปยัง STDERR หรือสร้างข้อผิดพลาด / เตือนไม่ร้ายแรงตราบใดที่ STDOUT เป็นควินินที่ถูกต้องและข้อความแสดงข้อผิดพลาดไม่ได้เป็นส่วนหนึ่งของมัน) นอกจากนี้ซอร์สโค้ดของคุณจะต้องไม่ประกอบด้วยตัวอักษรล้วนๆ (ไม่ว่าจะเป็นตัวอักษรสตริง, ตัวอักษรตัวเลข ฯลฯ ) และ / หรือ NOP ตัวอย่างเช่น`12เป็นรูปหลายเหลี่ยมใน Jelly และ Pyth แต่ใน …

2
เอาท์พุทที่อยู่ IPv4 สาธารณะแบบ unicast ที่ถูกต้อง
ที่อยู่ IPv4กว้าง 32 บิตและขนาดของพื้นที่ที่อยู่คือ 2 32หรือ 4,294,967,296 อย่างไรก็ตามนี่เป็นเพียงขอบเขตทฤษฎีเท่านั้น มันไม่ได้เป็นตัวแทนที่ถูกต้องของที่อยู่ทั้งหมดที่จริงอาจใช้บนอินเทอร์เน็ตสาธารณะ สำหรับจุดประสงค์ของการท้าทายนี้จะถือว่าการกล่าวอ้างทั้งหมดนั้นมีระดับ ในความเป็นจริงการแบ่งพื้นที่ที่อยู่ในระดับคลาสได้ถูกแทนที่โดยCIDR (การกำหนดเส้นทาง Inter-Domain Classless และ VLSM (Masking Subnet Length Variable Length Variable)แต่สิ่งนี้ไม่สนใจความท้าทายนี้ ตามรูปแบบที่อยู่ที่คลาสมี 3 คลาส: Class A - 0.0.0.0ถึง127.255.255.255ด้วย/8ความยาว netmask Class B - 128.0.0.0ถึง191.255.255.255ด้วย/16ความยาว netmask Class C - 192.0.0.0ถึง223.255.255.255ด้วย/24ความยาว netmask คลาส D (multicast) และ E (สงวนไว้) ถูกกำหนดด้วยเช่นกัน แต่ไม่ได้ใช้สำหรับที่อยู่ unicast สาธารณะ …

7
สี่เหลี่ยมในสี่เหลี่ยม
รับอินพุตของจำนวนเต็มบวกnเขียนโปรแกรมที่เสร็จสิ้นกระบวนการต่อไปนี้ ค้นหาจำนวนเต็มบวกที่เล็กที่สุดที่มากกว่าnสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบและเป็นการต่อเชื่อมnและอีกจำนวนหนึ่ง ลำดับของตัวเลขnอาจไม่สามารถเปลี่ยนแปลงได้ จำนวนตัดแบ่งไปยังการผลิตตารางที่สมบูรณ์แบบอาจจะเรียกว่าnr_1 ถ้าr_1ไม่ใช่สี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบให้ทำซ้ำกระบวนการข้างต้นด้วยr_1เช่นเดียวกับอินพุตใหม่เข้าสู่กระบวนการ ทำซ้ำจนกว่าจะเป็นตารางที่สมบูรณ์ชี้แนะr_ks sqrt(s)พิมพ์ค่าของ สามารถป้อนข้อมูลในรูปแบบใดก็ได้ คุณสามารถสันนิษฐานว่าnเป็นจำนวนเต็มบวก ถ้าr_kมีศูนย์นำ (และr_k≠ 0), ศูนย์สามารถถูกละเว้น กรณีทดสอบ นี่คือบางกรณีทดสอบ กระบวนการสาธิตขั้นตอนข้างต้น Input: 23 Process: 23, 2304, 4 Output: 2 Input: 10 Process: 10, 100, 0 Output: 0 Input: 1 Process: 1, 16, 6, 64, 4 Output: 2 Input: 5 Process: 5, 529, 29, 2916, 16 …

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