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

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

29
มันเป็นรหัสคำนำหน้า?
ในทฤษฎีข้อมูล "รหัสคำนำหน้า" เป็นพจนานุกรมที่ไม่มีคีย์ใดเป็นคำนำหน้าของอีก กล่าวอีกนัยหนึ่งนี่หมายความว่าไม่มีสตริงใดเริ่มต้นด้วยสตริงอื่นใด ตัวอย่างเช่น{"9", "55"}เป็นรหัสคำนำหน้า แต่{"5", "9", "55"}ไม่ใช่ ข้อได้เปรียบที่ใหญ่ที่สุดของเรื่องนี้คือข้อความที่เข้ารหัสสามารถเขียนลงโดยไม่มีตัวคั่นระหว่างพวกเขาและมันจะยังสามารถถอดรหัสได้โดยไม่ซ้ำกัน สิ่งนี้แสดงให้เห็นในอัลกอริธึมการบีบอัดเช่นการเข้ารหัส Huffmanซึ่งจะสร้างรหัสคำนำหน้าที่ดีที่สุดเสมอ งานของคุณง่าย: ได้รับรายการของสตริงตรวจสอบว่ามันเป็นรหัสคำนำหน้าที่ถูกต้องหรือไม่ ข้อมูลของคุณ: จะมีรายการของสตริงในรูปแบบที่เหมาะสม จะมีสตริง ASCII ที่พิมพ์ได้เท่านั้น จะไม่มีสตริงว่างเปล่า ผลลัพธ์ของคุณจะเป็นค่าจริง / เท็จ : ความจริงถ้ามันเป็นรหัสคำนำหน้าที่ถูกต้องและเป็นเท็จถ้ามันไม่ ต่อไปนี้เป็นกรณีทดสอบจริง: ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", …

30
เปิดเบราว์เซอร์เพื่อ http://codegolf.stackexchange.com
งานของคุณคือเพื่อเปิดหน้าต่างเบราว์เซอร์ของเบราว์เซอร์เริ่มต้นที่จะhttp://codegolf.stackexchange.com รหัสของคุณจะต้องเปิดเบราว์เซอร์เองและไม่สามารถพึ่งพาเปิดได้ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ

15
ค้นหาการซิงโครไนซ์
รับอินพุตของสตริงที่ประกอบด้วยqs ซึ่งเป็นตัวแทนของบันทึกย่อประจำไตรมาสและes ที่เป็นตัวแทนของโน้ตที่แปดให้ส่งออกดัชนีของบันทึกประจำไตรมาสที่มีการทำข้อมูลให้ตรงกัน การทำข้อมูลให้ตรงกันนั้นซับซ้อน แต่สำหรับวัตถุประสงค์ของการท้าทายนี้คำจำกัดความของเรา "ทำข้อมูลให้ตรงกัน" จะง่ายมาก: บันทึกไตรมาสที่เริ่มต้นที่ "ผิดจังหวะ" - นั่นคือเต้นนับเป็น "และ" ใน n / 4 เวลา. สิ่งนี้อาจถูกกำหนดให้เป็นบันทึกประจำไตรมาสใด ๆ ที่นำหน้าด้วยเลขคี่แปดของเลขคี่ ตัวอย่างเช่นบันทึกย่อที่มีเครื่องหมาย*ด้านล่างนี้จะถูกพิจารณาว่ามีการทำข้อมูลให้ตรงกันและดัชนีของพวกเขาจะแสดงด้วย: eqqeqqeqqe ** ** 12 78 Output: 1 2 7 8 ข้อมูลที่ป้อนจะประกอบด้วยจำนวนหน่วยวัดทั้งหมดในเวลา 4/4 (บันทึกประจำไตรมาสคือหนึ่งในสี่ของการวัดและโน้ตที่แปดคือแปดของการวัด) (อินพุตจะไม่มีวันว่าง) เอาต์พุตอาจเป็นสตริงเดี่ยวที่มีองค์ประกอบคั่นด้วยตัวคั่นใด ๆ ที่ไม่มีตัวเลขหรืออาร์เรย์ / รายการ / ฯลฯ ผลลัพธ์อาจเป็นแบบอิง 1 (เช่นดัชนีแรกคือ 1 แทน 0) หากคุณต้องการและอาจอยู่ในฐานตัวเลขใด ๆ …
33 code-golf  music 

30
ช่วยฉันเปิดกล่อง
ฉันมีกล่อง ASCII-art และฉันต้องการโปรแกรมเพื่อเปิด ตัวอย่าง การป้อนข้อมูล: ------- | | |_____| เอาท์พุท: / / / / / / / | | |_____| สเปค บรรทัดแรกจะประกอบด้วย-อย่างน้อย 3 บรรทัดเท่านั้น แถวกลางจะเริ่มต้นด้วย|ช่องว่างและลงท้ายด้วย| แถวกลางทั้งหมดจะเหมือนกัน แถวสุดท้ายจะเริ่มต้นด้วย|have _และลงท้ายด้วย a| แถวทั้งหมดจะมีความยาวเท่ากัน เปิดกล่อง: แต่ละรายการ-ควรถูกแทนที่ด้วย a /ในเส้นและตำแหน่งจากน้อยไปหามาก

18
ขาอื่น ๆ ของพีธากอรัส
พีธากอรัสทำขาของเขาปลิวไปในสงคราม มันจะต้องถูกตัดออกและแม้ว่าเขาเกือบจะเสียชีวิต แต่เขาก็ผ่านเข้ามาและทำการกู้คืนอย่างสมบูรณ์ ตอนนี้หลังจากปีที่เดินกับไม้ค้ำเขาได้รับสิทธิพิเศษในการรับขาเทียม! แม้ว่ามีหลายอย่างที่เหมาะสม แต่มีอะไรบ้าง งาน รับจำนวนเต็มบวกเป็นอินพุตที่ความยาวของขาข้างหนึ่งของพีทาโกรัสทริปเปิลเอาท์พุทเป็นไปได้ทั้งหมดสำหรับขาอีกข้าง ตัวอย่างเช่น Pythagorean triple ที่เล็กที่สุดคือ (3,4,5) ซึ่งเป็นรูปสามเหลี่ยมที่มีความยาวสองขา 3 และ 4 และสามเหลี่ยมด้านยาว 5 ตัวอย่าง Leg:5 12 Leg:28 21 45 96 195 Leg:101 5100 Leg:1001 168 468 660 2880 3432 4080 5460 6468 10200 38532 45540 71568 501000 กฎระเบียบ nการป้อนข้อมูลจะเป็นจำนวนเต็มบวกเดียว เอาต์พุตอาจอยู่ในลำดับใด ๆ โดยมีตัวคั่นใด ๆ ในฐานใด …
33 code-golf 

5
เครื่องจำลองแรงโน้มถ่วง
คำแถลง คุณจะได้รับชุดของลูกตกอยู่ในตาราง 2D ตารางนี้ล้อมรอบด้วยกำแพงที่ไม่เปลี่ยนรูปและไม่สามารถแตกได้ดังนั้นการกระทำทั้งหมดที่อยู่ในนั้น งานของคุณคือการกำหนดสถานการณ์ของสถานการณ์ที่จะเกิดขึ้นหลังจากแรงโน้มถ่วงทำงานทั้งหมด องค์ประกอบภายในกริด - พื้นไม่เปลี่ยนทิศทางของลูกบอลตก \ เลื่อนไปทางขวาเปลี่ยนเส้นทางของลูกบอลหนึ่งตำแหน่ง (1) ทางขวา / สไลด์ซ้ายเปลี่ยนเส้นทางของลูกบอลหนึ่งตำแหน่งที่เหลือ (1) o ลูกบอล. กฎระเบียบ ลูกตก ชั้นและภาพนิ่งไม่ตก หากลูกบอลกระทบกับสไลเดอร์ที่จะผ่านกำแพง ( \#หรือ#/) หรือข้ามผ่านพื้นสไลด์จะทำหน้าที่เป็นพื้น เมื่อลูกบอลกระทบกับลูกบอลอีกลูกหนึ่งจะกลายเป็นลูกบอลหนึ่งลูก แต่เพิ่มพลังของพวกเขาให้เท่ากับจำนวนลูกทั้ง ลูกใหม่ (เข้าร่วม) จะยังคงทำงานตามปกติ เมื่อลูกบอลไม่สามารถเคลื่อนที่ได้อีกต่อไปมันจะถูกแทนที่ด้วยพลังของมัน พลังของลูกบอลจะต้องไม่เกิน 9 อินพุต กริดจะได้รับในตัวแปรสตริงที่มีชื่อสั้นที่สุดในภาษาที่คุณเลือก โดยค่าเริ่มต้นเราจะใช้aเป็นอินพุต ตัวอย่างของอินพุตตรงตามที่ได้รับ: ##########\n# \ #\n#o #\n# - -\o #\n#/- \ #\n# \oo-/\#\n#-/ \ /#\n# \ \ …

11
กำลังเล่นเพลงอะไร
แรงบันดาลใจจากxkcd นี้ คุณทำงานให้กับแซมและพวกเขามีโครงการสำหรับคุณ ลูกค้าบางรายบ่นว่าแอพของพวกเขาใช้พื้นที่มากเกินไปในโทรศัพท์ของพวกเขาดังนั้นพวกเขาต้องการให้คุณเขียนโค้ดแอพเวอร์ชัน lite น่าเสียดายที่รหัสที่มีอยู่ของคุณสามารถเข้าใจคำว่า "na" เท่านั้นและคุณจะต้องจัดส่งเร็ว ๆ นี้ ไม่เป็นไรเราจะทำดีที่สุดกับสิ่งที่เรามี ความท้าทาย คุณต้องเขียนโปรแกรมเต็มรูปแบบที่รับอินพุตของผู้ใช้หรือรับอาร์กิวเมนต์บรรทัดคำสั่งและพิมพ์ชื่อและศิลปินของเพลง เนื่องจากเราพยายามแก้ไขลูกค้าที่บ่นเกี่ยวกับขนาดของโปรแกรมรหัสของคุณจะต้องสั้นที่สุด อินพุตจะเป็นสตริงที่ประกอบด้วย na ทั้งหมดโดยมีช่องว่างเดียวระหว่างพวกเขา ตัวพิมพ์เล็ก / ตัวพิมพ์ใหญ่โดยพลการ นี่ถือว่าเป็นอินพุตที่ถูกต้อง: Na Na nA na NAนี่คืออินพุตที่ไม่ถูกต้อง: nah nah NA naNa bananaคุณต้องพิจารณาว่าเพลงกำลังเล่นอะไรและพิมพ์ออกมาในรูปแบบนี้: Song: <trackname> Artist: <artist> หากอินพุทของคุณมีค่าเท่ากับ 8 na สิ่งนี้จะตรงกับสองเพลงแยกดังนั้นคุณต้องพิมพ์ทั้งสอง: Song: Batman Theme Artist: Neal Hefti และ Song: Na Na Hey …

4
แยก ASCII
กำหนด 95 อักขระที่พิมพ์ได้ใน ASCII บวกบรรทัดใหม่แยกมันออกเป็นสองกลุ่มเท่ากับ 48กลุ่มตัวอักษร (ต่อไปนี้เรียกว่ากลุ่ม A และกลุ่ม B) สร้างการแมปแบบหนึ่งต่อหนึ่งที่คุณเลือก (คุณมีดุลยพินิจโดยรวม) ระหว่างสองกลุ่ม กล่าวอีกนัยหนึ่งคือAอาจแมปไปaและกลับกัน แต่Aอาจแมปไป>และกลับกันหากนั่นคือสิ่งที่คุณต้องการสำหรับโปรแกรมของคุณ เมื่อคุณแยก ASCII ออกเป็นสองกลุ่มแล้วให้เขียนสองโปรแกรมและ / หรือฟังก์ชั่นโดยใช้เฉพาะอักขระในแต่ละกลุ่มตามลำดับ กล่าวอีกนัยหนึ่งให้เขียนหนึ่งโปรแกรม / ฟังก์ชั่นที่ใช้เฉพาะอักขระในกลุ่ม A และอีกหนึ่งโปรแกรม / ฟังก์ชั่นที่ใช้อักขระในกลุ่ม B เท่านั้น โปรแกรมเหล่านี้จะต้องสามารถรับอักขระหนึ่งตัวเป็นอินพุตได้ โปรแกรมที่เขียนด้วยอักขระในกลุ่ม A ควรเอาท์พุท / ส่งคืนอักขระเดียวกันหากอินพุตเป็นกลุ่มอักขระ A และกลุ่มอักขระ A ที่แม็พหากได้รับอักขระกลุ่ม B; โปรแกรมกลุ่ม A ควรแสดงอักขระกลุ่ม A เสมอ ในทำนองเดียวกันโปรแกรมกลุ่ม B ควรเอาท์พุทอักขระเดียวกันถ้าเป็นอักขระกลุ่ม B และอักขระกลุ่ม …

3
Tiny Lisp ล่ามจิ๋ว
เสียงกระเพื่อมโปรแกรมเมอร์โม้ว่าเสียงกระเพื่อมเป็นภาษาที่มีประสิทธิภาพซึ่งสามารถสร้างขึ้นจากชุดขนาดเล็กมากของการดำเนินงานดั้งเดิม tinylispขอนำความคิดที่ว่าในการปฏิบัติโดยการเล่นกอล์ฟล่ามภาษาที่เรียกว่า ข้อกำหนดภาษา ในสเปคนี้เงื่อนไขใด ๆ ที่ผลลัพธ์ถูกอธิบายว่า "ไม่ได้กำหนด" อาจทำอะไรก็ได้ในล่ามของคุณ: ล้มเหลวล้มเหลวอย่างเงียบ ๆ สร้าง gobbldegook แบบสุ่มหรือทำงานตามที่คาดไว้ การดำเนินการอ้างอิงในหลาม 3 สามารถใช้ได้ที่นี่ วากยสัมพันธ์ ราชสกุลใน tinylisp มี(, )หรือสตริงใด ๆ ของหนึ่งหรือพิมพ์ตัวอักษร ASCII ยกเว้นวงเล็บหรือพื้นที่ (เช่น regex ต่อไปนี้: [()]|[^() ]+.) โทเค็นใด ๆ ที่ประกอบด้วยตัวเลขทั้งหมดเป็นตัวอักษรจำนวนเต็ม (ศูนย์ชั้นนำจะถูก.) โทเค็นใด ๆ ที่มีตัวเลขที่ไม่ใช่เป็นสัญลักษณ์แม้ตัวอย่างตัวเลขที่ดูชอบ123abc, และ3.14 -10ช่องว่างทั้งหมด (รวมถึงอย่างน้อยที่สุดตัวอักษร ASCII 32 และ 10) จะถูกละเว้นยกเว้นตราบเท่าที่มันแยกโทเค็น โปรแกรม tinylisp ประกอบด้วยชุดของการแสดงออก แต่ละนิพจน์เป็นจำนวนเต็มสัญลักษณ์หรือเอส - …

14
{เบอร์หยิก};
ในการเขียนโปรแกรมภาษาลึกลับหยิกโปรแกรม แต่เพียงการประกอบวงเล็บปีกกาและอัฒภาค{} ;แม้ชุดเครื่องมือต่ำต้อยนี้ลอนมีตัวอักษรที่สามารถแสดงจำนวนเต็มที่ไม่ใช่ค่าลบใด ๆ รูปแบบนั้นค่อนข้างยากสำหรับผู้ที่ไม่ได้ฝึกอ่านดังนั้นให้เขียนโค้ดเพื่อทำการแปลงให้เรา รูปแบบของตัวเลข ตัวเลขลอนมีโครงสร้างตามกฎต่อไปนี้: การเพิ่มเซมิโคลอนเพิ่มหนึ่งหมายเลข จำนวนที่อยู่ในเครื่องหมายปีกกาจะถูกคูณด้วยสี่ กลุ่มที่มีรั้งเป็นลอนอาจซ้อนกัน แต่ไม่ได้ต่อกัน เครื่องมือจัดฟันต้องตรงกันอย่างถูกต้อง เครื่องหมายอัฒภาคนอกชุดเครื่องหมายปีกกาจะต้องมาหลังจากนั้นไม่ใช่มาก่อน เพื่อหลีกเลี่ยงความคลุมเครือในการแยกวิเคราะห์ตัวเลขต้องเริ่มต้นด้วยวงเล็บปีกกาเสมอ ตัวอย่างบางส่วน: {;;} 2*4 = 8 {{;};}; (1*4+1)*4+1 = 21 {};;; 0*4+3 = 3 (โปรดทราบว่ากฎ 5 หมายถึงตัวเลข 0 ถึง 3 จะต้องเริ่มต้นด้วยวงเล็บปีกกาว่างเปล่าคู่) และตัวอย่างที่ไม่ถูกต้อง: {{;}{;;}} Curly brace groups side-by-side, not nested {;}} Unmatched brace {;{;}} Semicolon before curly-brace group …

11
การคูณด้วยการดัดแปลงตัวเอง
... อย่างน้อยสำหรับคำจำกัดความของ "การดัดแปลงตนเอง" งาน ในความท้าทายนี้งานของคุณคือการเขียนสามสายA, BและCที่ตอบสนองคุณสมบัติดังต่อไปนี้ สตริงBมีความยาวอย่างน้อย 1 สำหรับทุก ๆn ≥ 0สตริงเป็นโปรแกรมที่ถูกต้อง (หมายถึงโปรแกรมที่รันได้เต็มหรือนิยามฟังก์ชัน) ในภาษาการเขียนโปรแกรมที่คุณเลือก ยกหมายถึงการทำซ้ำเพื่อให้ที่นี้หมายถึงสตริง, , , ฯลฯ แต่ละโปรแกรมจะใช้เวลาหนึ่งสตริงเป็น input และผลตอบแทนที่หนึ่งสายเป็นผลผลิตABnCACABCABBCABBBC สำหรับการใด ๆm, n ≥ 0ถ้าโปรแกรมจะดำเนินการด้วยการป้อนข้อมูลก็จะส่งกลับ สำหรับอินพุตที่ไม่ใช่แบบฟอร์มนี้โปรแกรมอาจทำสิ่งใดก็ได้รวมถึงข้อขัดข้องABmCABnCABm*n+1C ตัวอย่างบางส่วนในรูปแบบprogram(input) -> output: AC(AC) -> ABC ABC(AC) -> ABC ABBBBBC(AC) -> ABC AC(ABC) -> ABC AC(ABBBBC) -> ABC ABC(ABC) -> ABBC ABBC(ABC) -> …

15
คำศัพท์ที่สมดุล
ความท้าทายนี้ถูกโพสต์ลงบน subreddit ของ DailyProgrammer และฉันคิดว่ามันจะเป็นตัวเลือกที่ยอดเยี่ยมสำหรับการแข่งขันกอล์ฟรหัส การพิจารณาว่ายอดคงเหลือจดหมายจะขึ้นอยู่กับระยะทางจากจุดสมดุลและมูลค่าของจดหมาย ค่าของตัวอักษรสามารถกำหนดได้โดยรับตำแหน่งหนึ่งดัชนีในตัวอักษรหรือโดยการลบ 64 จากค่า ASCII นอกจากนี้ค่าของตัวอักษรจะถูกคูณด้วยระยะทางจากจุดสมดุล ลองมาดูตัวอย่างSTEAD: STEAD -> 19, 20, 5, 1, 4 ASCII values This balances at T, and I'll show you why! S T EAD -> 1*19 = 1*5 + 2*1 + 3*4 Each set of letters on either side sums to …
33 code-golf 

22
ทรัมป์ต้องการให้คุณช่วยหยุด Starman!
มนุษย์จากดาวได้มาเพื่อโลก! โชคดีที่ประธานาธิบดีโดนัลด์ทรัมป์เป็นประธานาธิบดีของสหรัฐฯ เมื่อใช้ตายนี้เขาสามารถคิดเลขที่คุณนายกเทศมนตรีPodunkต้องใช้เพื่อตัดสินว่าใครควรถูกส่งไปหยุดยั้งผู้บุกรุก! แต่ระวังคุณสามารถส่งจำนวน จำกัด ไบต์ที่ด้านหลังของกบของคุณ! กำหนดอินพุตของผู้ใช้ (ซึ่งจะเป็นจำนวนเต็มบวก) คุณจะต้องส่งคืนสตริงขึ้นอยู่กับหมวดหมู่หมายเลขใด ถ้าตัวเลขเป็นจำนวนฟีโบนักชีคุณต้องเอาท์พุทเนสส์ ถ้าตัวเลขเป็นจำนวนลูคัสคุณต้องเอาท์พุทลูคัส ถ้าจำนวนทั้งจำนวนลูคัสและหมายเลข Fibonacciคุณต้องเอาท์พุทเทรวิส ถ้าตัวเลขเป็นค่า AA ลูคัสจำนวนหรือมิได้จำนวน Fibonacciคุณต้องเอาท์พุทPippi ตัวอย่าง ต่อไปนี้เป็นกรณีทดสอบมากมาย: 1 => เทรวิส 2 => เทรวิส 3 => เทรวิส 4 => ลูคัส 5 => Ness 6 => Pippi 7 => ลูคัส 8 => Ness 610 => Ness 722 => Pippi 843 …

3
การเขียนโปรแกรมบล็อก Tetris (ตามตัวอักษร)
ในเกมTetrisมี 7 ชนิดของอิฐหรือTetr i minoesซึ่งเป็นคณิตศาสตร์ที่รู้จักกันในชื่อtetr o minoesเพราะมันถูกสร้างขึ้นด้วย 4 ส่วนเซ็กเมนต์: มีชื่อ I, J, L, O, S, T และ Z ที่สอดคล้องกับรูปร่างโดยประมาณของพวกเขา นับการหมุน 90 °มีรูปร่างที่ไม่ซ้ำกันทั้งหมด 19 แบบ: I I I I IIII J J JJ JJJ J JJ J J J JJJ L L LL L LLL LL L L LLL L OO …

11
คำถามนี้มีทั้งอัพและดาวน์
ข้อมูลที่ป้อนจะประกอบด้วยอักขระต่อไปนี้: ^: ขึ้นไปหนึ่ง v: ลงไปหนึ่งอัน ▲หรือk: ขึ้นสอง ▼หรือj: ลงไปสองอัน ตัวอย่างเช่นอินพุตต่อไปนี้: ^^▲^v▼▲^^v จะผลิตผลลัพธ์ต่อไปนี้: ^ ^ ^ v ▲ v ▲ ^ ▼ ^ \e[Bไม่อนุญาตให้ใช้Escape sequences ที่เลื่อนเคอร์เซอร์เช่น คุณต้องสร้างเอาต์พุตโดยใช้ช่องว่างและบรรทัดใหม่ ต่อไปนี้เป็นกรณีทดสอบเพิ่มเติมอีกสองสามข้อ ▲v^v^v^v^v^v^v^v▲ ▲ ▲ ^ ^ ^ ^ ^ ^ ^ v v v v v v v v ^^^^^^^▲▲▲▼▼▼vvvvvv ▲ ▲ ▼ ▲ …

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