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

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

2
เตรียมความพร้อมที่จะตาย?
พื้นหลัง แหล่งที่มาหนึ่งของความสนุกในเกมเล่นตามบทบาทบนโต๊ะคือการรับมือกับการทอยลูกเต๋า การร่ายคาถา Disintegration นั้นอาจจะเกิดขึ้นทันที แต่การกลิ้งและการรวมเข้าด้วยกัน 40 ลูกเต๋าไม่ใช่อย่างแน่นอน! จำนวนของข้อเสนอแนะสำหรับการจัดการนี้จะมีการหารือในที่ rpg.stackexchange.com อย่างไรก็ตามบางส่วนของพวกเขาเช่นการใช้โปรแกรมโรลเลอร์หรือลูกเต๋าเฉลี่ยทำให้ความสนุกและความรู้สึกควบคุมได้จากผู้เล่น อื่น ๆ เช่นการทอยลูกเต๋า 4 ลูกและการคูณทั้งหมด 10 ทำให้ได้ผลลัพธ์ที่แกว่งไปมามากขึ้น (ในขณะที่การเฉลี่ยลูกเต๋ากระทำในทิศทางตรงกันข้าม) คำถามนี้เกี่ยวข้องกับวิธีการลดจำนวนการทอยลูกเต๋าโดยไม่เปลี่ยนผลลัพธ์เฉลี่ย (หมายถึง) หรือความผันผวน (ความแปรปรวน) โน้ตและคณิตศาสตร์ ในคำถามนี้เราจะใช้สัญลักษณ์ต่อไปนี้เพื่อเป็นตัวแทนของลูกเต๋า: n d k (เช่น 40d6) หมายถึงผลรวมของ n ม้วนของ k-sided die n d k * c (เช่น 4d6 * 10) อธิบายการคูณผลลัพธ์ด้วยค่าคงที่ c นอกจากนี้เรายังสามารถเพิ่มม้วน (เช่น 4d6 * …

15
การแปลงแบบแผนการเข้ารหัส
ใน Coding Golf คุณควรแปลงหนึ่งการเข้ารหัสด้วย TitleCase เป็น lower_case_with_underscores และในทางกลับกัน! สเปค เปลี่ยนปลอกด้วยวิธีต่อไปนี้: หากอักขระขีดล่างเป็นตัวคั่นให้เปลี่ยนเคสเป็นหัวเรื่องเคสโดยไม่มีตัวคั่นใด ๆ หากมีหลายคำที่ไม่มีตัวคั่นให้เปลี่ยนเคสเป็นตัวพิมพ์เล็กและเพิ่มอักขระขีดล่างเป็นตัวคั่น ในกรณีที่มีเพียงหนึ่งคำ (หรือหนึ่งตัวอักษร): เปลี่ยนปลอกเป็นชื่อเรื่องกรณีถ้าคำเริ่มต้นด้วยตัวพิมพ์เล็ก เปลี่ยนปลอกเป็นตัวพิมพ์เล็กหากคำเริ่มต้นด้วยตัวพิมพ์ใหญ่ อักขระที่อนุญาต: A ถึง Z a ถึง z ขีดล่าง ( _) การป้อนข้อมูลด้วยคำที่ใส่ซองไม่ได้รับอนุญาต ตัวอย่างของกรณีที่ไม่อนุญาต: Coding_Convention_Conversion a_BC ตัวอย่างคดี Input | Expected Output =========================================================== CodingConventionConversion | coding_convention_conversion coding_convention_conversion | CodingConventionConversion abc | Abc Abc | abc ABC …
22 code-golf  string 

30
หอคอยแห่งสาย
รับสตริงข้อความเอาท์พุทเป็น 'หอคอย' แต่ละส่วนของสตริง (ของแบบฟอร์ม0:n) ซ้ำแล้วซ้ำอีก5*nดังนั้นตัวอักษรตัวแรกจะถูกทำซ้ำ 5 ครั้งจากนั้นครั้งแรกและครั้งที่สอง 10 ครั้ง ฯลฯ ตัวอย่าง: 'hello' -> ['h'] ['h'] ['h'] ['h'] ['h'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e', 'l'] ['h', 'e', 'l'] ['h', 'e', 'l'] ['h', 'e', 'l'] …

11
ASCII Hangman กำลังดำเนินการ
(ได้รับแรงบันดาลใจจากคำถามในการตรวจสอบโค้ด) สมมติว่าคนสองคนกำลังเล่นHangman อยู่แต่คุณเพิ่งได้ยินเกมนี้และต้องการที่จะดึงสถานะปัจจุบัน ให้คำสองคำในการป้อนข้อมูลโดยที่คำแต่ละคำที่ตรงกัน[A-Z]+หรือ[a-z]+(คุณเลือก) ให้แสดงสถานะปัจจุบันของเกมแฮงก์แมนเป็น ASCII art ตามกฎด้านล่าง คำแรกคือคำที่ต้องเดาและคำที่สองคือตัวอักษรที่เดาแล้ว สิ่งเหล่านี้สามารถนำมาเป็นอินพุตในลำดับใดก็ได้ คำที่จะเดาได้รับประกันว่าไม่ว่างเปล่า แต่ตัวอักษรที่เดาแล้วอาจว่างเปล่า (เช่นราวกับว่ามันเป็นจุดเริ่มต้นของเกม) เกมดังกล่าวจะเป็นเกมเพชฌฆาตที่ถูกต้องเสมอ (เช่นตัวอักษรที่เดาได้จะไม่ซ้ำกันตัวอักษรจะไม่ถูกเดาเมื่อสิ้นสุดเกมคุณจะได้รับตัวอักษรเป็นเพียงอินพุตเป็นต้น) ด้านล่างภาพวาดเพชฌฆาตนั้นจะต้องเป็นคำที่ต้องเดาโดย_ที่ไม่ทราบตัวอักษรโดยคั่นด้วยช่องว่าง ตัวอย่างเช่นถ้าคำที่จะเดาได้เป็นแล้วด้านล่างวาดภาพเพชฌฆาตจะต้องBOAT _ _ _ _ถ้าเป็นคำที่BOATมีเดาได้แล้วดังต่อไปนี้การวาดภาพจะต้องเป็นA_ _ A _ ด้านล่างคำที่จะคาดเดาจะต้องมีตัวอักษรแล้วเดาที่ไม่ได้อยู่ในคำว่า สิ่งเหล่านี้สามารถอยู่ในลำดับใดก็ได้และสามารถคั่นด้วยตัวคั่นที่ไม่ใช่ตัวอักษรได้หากต้องการ นี่คือสถานะของเกมแฮงก์แมนตั้งแต่เริ่มต้นจนจบเกม จดหมายที่เดาผิดแต่ละฉบับเลื่อนรัฐไปทีละคน ดังนั้นจดหมายที่คาดเดาผิดครั้งแรกทำให้ศีรษะOปรากฏขึ้นถัดไปทำให้ร่างกาย|ปรากฏเป็นต้น +---+ | | | | | | ========= +---+ | | O | | | | ========= +---+ | | O …

27
หน้าลูกเต๋าที่มองเห็นได้
ตายแบบตะวันตกเป็นก้อนซึ่งเลข 1 ถึง 6 มีการทำเครื่องหมายบนใบหน้า คู่ที่เพิ่มไปยัง 7 จะวางอยู่บนใบหน้าตรงข้าม เนื่องจากเป็นคิวบ์เราสามารถมองเห็นได้ระหว่าง 1 และ 3 ใบหน้า (รวม) 1ในเวลาที่กำหนด ไม่สามารถมองเห็นใบหน้าตรงข้ามได้ในเวลาเดียวกัน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่กำหนดรายการจำนวนเต็มแทนด้านตายกำหนดว่าเป็นไปได้ที่จะเห็นใบหน้าเหล่านี้ในเวลาเดียวกัน 1 โอเคบางทีคุณอาจเห็นใบหน้า 4 หรือ 5 หน้าด้วยดวงตาคู่หนึ่ง แต่สำหรับจุดประสงค์ของการท้าทายนี้เราจะสังเกตเห็นความตายจากจุดเดียว กฎ: การส่งของคุณอาจถือว่ารายการอินพุต: ไม่ว่างเปล่า 1 ≤ n ≤ 6มีเฉพาะค่าที่พอใจ ไม่มีองค์ประกอบที่ซ้ำกัน คุณอาจไม่คิดว่าอินพุตถูกเรียงลำดับ การส่งของคุณควรให้คุณค่าที่เป็นความจริง / เป็นเท็จ : ความจริงคือใบหน้าสามารถมองเห็นได้ในเวลาเดียวกัน นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ! ช่องโหว่มาตรฐานจะถูกห้ามโดยค่าเริ่มต้น กรณีทดสอบ Truthy: [6] (One face) [6, 2] …

18
ทำคะแนนเกมแห่งเกรงกลัว
พื้นหลัง ในBoggleจะมีการทำคะแนนโดยการเพิ่มคะแนนสำหรับคำที่ไม่ซ้ำกันที่ผู้เล่นพบ (เช่นคำใด ๆ ที่พบมากกว่าหนึ่งผู้เล่นที่มีค่า 0 คะแนน) คะแนนจะถูกคำนวณตามจำนวนตัวอักษรในแต่ละคำดังต่อไปนี้: 3 ตัวอักษร: 1 จุด 4 ตัวอักษร: 1 จุด 5 ตัวอักษร: 2 คะแนน 6 ตัวอักษร: 3 คะแนน 7 ตัวอักษร: 5 คะแนน 8 ตัวอักษรหรือมากกว่า: 11 คะแนน ท้าทาย ในความท้าทายนี้ให้เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการของสตริงที่แสดงถึงคำพูดของผู้เล่นแต่ละคนและแสดงรายการคะแนนของผู้เล่น คุณสามารถสันนิษฐานได้ว่าจะมีผู้เล่นอย่างน้อย 2 คนและทุกคำจะเป็นตัวอักษร 3 ตัวขึ้นไปและจะเป็นตัวพิมพ์เล็ก (หรือตัวพิมพ์ใหญ่ทั้งหมดหากคุณต้องการ) คุณอาจสมมติว่าผู้เล่นแต่ละคนจะใช้แต่ละคำเพียงครั้งเดียว นั่นคือไม่มีรายชื่อผู้เล่นจะมีรายการที่ซ้ำกัน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ กฎระเบียบ สามารถป้อนข้อมูลในรูปแบบที่เหมาะสม ตัวอย่างรวมถึงรายการของรายการของสตริงรายการของสตริงที่คั่นด้วยเครื่องหมายจุลภาค, สตริงที่คั่นด้วยเครื่องหมายจุลภาคในแต่ละบรรทัดของการป้อนข้อมูล ฯลฯ เอาท์พุทสามารถอยู่ในรูปแบบของรายการจำนวนเต็ม (หรือเทียบเท่าภาษาของคุณ) …

24
ดื่มกาแฟยามเช้า
วาดถ้วยกาแฟ Ascii นี้: โอ โอ โอ __________ / \ __ | J | \ | A | | | V | | | A | __ / \ __________ / คะแนนบราวนี่สำหรับกาแฟสคริปต์หรือจาวา :) โค้ดที่สั้นที่สุดในหน่วยไบต์ฟังก์ชั่นหรือโปรแกรมขึ้นบรรทัดใหม่หรือพื้นที่สีขาวเป็นที่ยอมรับดื่ม!

30
ดัชนีมวลกายของฉันคืออะไร
ปัญหา: งานของคุณคือการเขียนโปรแกรมที่ใช้เป็นความสูง (เป็นเมตร) และน้ำหนัก (เป็นกิโลกรัม) และส่งออกหมวดหมู่ BMI ที่เกี่ยวข้อง ค่าดัชนีมวลกายคือการวัดอัตราส่วนของน้ำหนักต่อส่วนสูงของคุณ มันเก่าและไม่ถูกต้องสำหรับคนจำนวนมากแต่นั่นไม่สำคัญเลย! BMI สามารถคำนวณได้โดยใช้สมการต่อไปนี้: BMI = (mass in kilograms) / (height in meters)^2 หมวดหมู่จะถูกกำหนดดังนี้: BMI <18.5: "Underweight" 18.5 <= BMI <25: "Normal" 25 <= BMI: "น้ำหนักเกิน" เพื่อความท้าทายฉันจึงเพิกเฉยต่อหมวดหมู่ "สุดขีด" ทั้งหมด นอกจากนี้เนื่องจากตัวเลขบางตัวเช่น "25" อยู่ระหว่าง 2 หมวดหมู่ฉันจึงปรับขอบเขตเล็กน้อยเพื่อให้มีคำตอบที่ชัดเจน คุณสามารถเขียนฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ การป้อนข้อมูล: อินพุตอาจอยู่ในรูปแบบที่สมเหตุสมผล ตัวเลขสองตัว (หรือสตริง) อาจเป็น 2 อาร์กิวเมนต์แยกกันหรือเป็นสตริงเดียว …
21 code-golf  math 

30
คูณสองตัวเลข
อินพุต:สองจำนวนเต็มทศนิยม สิ่งเหล่านี้สามารถให้กับรหัสในอินพุตมาตรฐานเป็นอาร์กิวเมนต์ของโปรแกรมหรือฟังก์ชันหรือเป็นรายการ ผลลัพธ์:ผลิตภัณฑ์เป็นจำนวนเต็มทศนิยม ยกตัวอย่างเช่นการป้อนข้อมูลที่จะนำไปสู่การส่งออก5 1680 ข้อ จำกัด :ไม่มีช่องว่างมาตรฐานกรุณา นี่คือรหัสกอล์ฟคำตอบในจำนวนไบต์ต่ำสุดที่ชนะ หมายเหตุ:เค้าโครงขโมยมาจากก่อนหน้านี้ความท้าทายของฉันเพิ่มตัวเลขสอง กรณีทดสอบ: 1 2 -> 2 4 5 -> 20 7 9 -> 63 -2 8 -> -16 8 -9 -> -72 -8 -9 -> 72 0 8 -> 0 0 -8 -> 0 8 0 -> 0 -8 0 -> …
21 code-golf  math  number 

1
การระบุราคาอัตโนมัติของการเลื่อนใน Nethack
โอ้พระเจ้าไม่ !! คุณไม่สามารถทิ้งเราไว้ที่นี่ด้วย Doorknob! มันจะถูกทำลายทุกที่! - 1 วันก่อนโดยGeobits ก็ไม่ทำให้ผิดหวัง ... บทนำ (คุณสามารถข้ามส่วนนี้ได้หากคุณไม่สนใจเกี่ยวกับการแสดงออกและ / หรือหากคุณมีTab Explosion Syndrome ) หนึ่งในกลไกลักษณะของNetHack (และ Rogue และเกมที่คล้ายกันในประเภทเดียวกันโร๊คไลค์) เป็นของระบบการระบุ ที่จุดเริ่มต้นของเกมเฉพาะรายการในสินค้าคงคลังเริ่มต้นของคุณ "ระบุอย่างเป็นทางการ" วัตถุอื่น ๆ ส่วนใหญ่ไม่ทราบแน่ชัด ตัวอย่างเช่น "shield of reflect" จะเริ่มแสดงเป็น "shield silver polishing" ก่อนที่จะถูกระบุ "โล่เงินขัดเงา" สามารถเป็นเกราะป้องกันการสะท้อนเท่านั้น แต่สิ่งนี้มีผลที่น่าสนใจในอีกสองกรณี บางรายการแตกต่างกัน แต่มี "ลักษณะที่ปรากฏ" ที่เหมือนกัน ตัวอย่างเช่นหากคุณพบ " หินสีเทา " อาจเป็นหนึ่งในสี่สิ่ง: หินเหล็กไฟ (ไร้ประโยชน์), …
21 code-golf  game 

4
แก้ปัญหาจำนวนของอริสโตเติล
ปริศนาตัวเลขของอริสโตเติลเป็นความท้าทายของการเติมแต่ละเซลล์ 19 เซลล์ในตารางหกเหลี่ยมที่มีจำนวนเต็มไม่ซ้ำกันระหว่าง 1 ถึง 19 ดังนั้นจำนวนทั้งหมดตามแกนคือ 38 คุณสามารถนึกภาพกระดานเกมที่มีลักษณะดังนี้: และในสาระสำคัญปริศนาคือคำตอบของสมการสิบห้าชุดดังต่อไปนี้: ((a + b + c) == 38 && (d + e + f + g) == 38 && (h + i + j + k + l) == 38 && (m + n + o + p) == 38 && …

5
เหลืออีกนานเท่าไหร่?
เหลืออีกนานเท่าไหร่? เมื่อเร็ว ๆ นี้ฉันกำลังทำพิซซ่าโดยใช้เวลา 5 นาทีบนโทรศัพท์ของฉัน เมื่อมีคนเดินเข้ามาและถามฉันว่าจะต้องจากไปนานเท่าไหร่ฉันก็สับสนในช่วงแรกว่าจะตอบคำถามอย่างไร คุณเห็นไหมว่าถ้าตัวจับเวลาในช่วงเวลาปัจจุบันอยู่ที่ 3:47 ตามเวลาที่ฉันได้อ่านออกเสียง 'สามนาทีสี่สิบเจ็ดวินาที' เสียงดังเวลาจะเปลี่ยนไป ดังนั้นผมจึงต้องการที่จะหาเวลาที่จับเวลาจะมาถึงเพียงแค่เป็นฉันเสร็จสิ้นการอ่านมันออกมา นี่คือความท้าทายของคุณ: เพื่อให้กระบวนการนี้เป็นไปโดยอัตโนมัติ กำหนดเวลาในรูปแบบที่เหมาะสมใด ๆ (":" คั่นด้วยหรือเป็นอาร์กิวเมนต์นาทีและวินาที) เอาท์พุทเวลาที่เร็วที่สุดจากช่วงเวลาปัจจุบันนั้นซึ่งจะใช้เวลาในการอ่านออกเท่าที่มันจะทำให้ตัวจับเวลา ไปยัง เราสมมติว่าแต่ละพยางค์ใช้เวลา 1 วินาทีในการอ่าน กฎเพิ่มเติม คุณต้องนับ 'นาที' และ 'วินาที' เป็นสองพยางค์แต่ละรายการรวมถึง 'และ' ระหว่าง พิซซ่าจะไม่ใช้เวลามากกว่า 59:59 ในการปรุงอาหาร '11 นาทีและ 0 วินาที' ไม่ใช่ 10 พยางค์: คุณต้องทำให้ '11 นาที 'ง่ายขึ้น (เช่น 5 พยางค์) เช่นเดียวกันกับนาที: …

10
นับจำนวนเส้นทางที่สั้นที่สุดถึง n
ความท้าทายของรหัสนี้จะให้คุณคำนวณจำนวนวิธีที่จะไปถึงเริ่มจากโดยใช้แผนที่ในรูปแบบ (ด้วยเป็นจำนวนเต็มไม่เป็นลบ) และทำตามขั้นตอนจำนวนน้อยที่สุดnnn222x ↦ x + xJx↦x+xjx \mapsto x + x^jJjj (หมายเหตุนี่เกี่ยวข้องกับลำดับ OEIS A307092 ) ตัวอย่าง ตัวอย่างเช่นเพราะจำเป็นต้องใช้แผนที่สามแผนที่และมีลำดับที่แตกต่างกันสองแผนที่ในสามแผนที่ซึ่งจะส่งถึง :ฉ( 13 ) = 2f(13)=2f(13) = 2222131313 x ↦ x + x0x ↦ x + x2x ↦ x + x0หรือx ↦ x + x2x ↦ x + x1x ↦ x + x0x↦x+x0x↦x+x2x↦x+x0orx↦x+x2x↦x+x1x↦x+x0\begin{array}{c} x …

6
ลบเมทริกซ์ที่ถูกพับ
ท้าทาย: กำหนดเมทริกซ์ NxN โดยที่และหนึ่งในแปด 'ตัวเลือกการพับ' ที่แตกต่างกันให้ส่งออกอาร์เรย์ / รายการแบบ 2D พร้อมค่าลบออกยังไม่มีข้อความ≥ 2N≥2N\geq2 ตัวเลือกการพับแปดแบบ ได้แก่ ซ้ายไปขวา จากขวาไปซ้าย; ด้านบนลงล่าง; ด้านล่างไปด้านบน; topleft ไป bottomright; รายนามสมาชิกเพื่อ bottomleft; bottomleft เพื่อรายนามสมาชิก; bottomright ไป topleft ตัวอย่างทีละขั้นตอน: อินพุตเมทริกซ์: [[ 1, 3, 5, 7], [ 0, 8, 6, 4], [ 1, 1, 1, 1], (a'th row in the explanation below) …

9
ฉันเห็น BIDMAS ของคุณและสร้าง BADMIS ให้คุณ
ฉันเห็น BIDMAS ของคุณและสร้าง BADMIS ให้คุณ ท้าทาย กำหนดตัวเลขที่มีตัวดำเนินการระหว่าง: "5 + 4 * 9/3 - 8" ให้ส่งกลับผลลัพธ์ที่เป็นไปได้ทั้งหมดของนิพจน์สำหรับการเรียงลำดับของการดำเนินการพื้นฐานทุกครั้ง: [/, *, +, -] กฎระเบียบ ช่องโหว่มาตรฐานต้องห้าม I / O ต้องป้อนข้อมูลด้วยการดำเนินการมัด แต่ที่ง่ายที่สุด (สตริงหรืออาร์เรย์) คุณไม่จำเป็นต้องสนับสนุนผู้ประกอบการเอก (เช่น "-3 * 8 / +2") จำนวนเต็มสามารถแทนที่ด้วยการลอยสำหรับภาษาที่แจงโดยปริยายประเภท (เช่น 45 ⟶ 45.0) ผลลัพธ์จะต้องเป็นผลลัพธ์ที่เป็นไปได้ทั้งหมดของการแสดงออกไม่มีรูปแบบหรือคำสั่งที่ระบุ อินพุตทั้งหมดใช้งานได้ (เช่นไม่จำเป็นต้องจัดการกับ "7/3 + *") นี่ก็หมายความว่าคุณไม่จำเป็นต้องหารด้วยศูนย์ ผู้ประกอบการทุกคนมีความสัมพันธ์ทางด้านซ้ายดังนั้น "20/4/2" = "(20/4) …

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