การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

18
พิมพ์สำรับไพ่ที่สับแล้ว
อินพุต ไม่มี เอาท์พุต 52 ใบ ไม่มีการซ้ำซ้อน การ์ดจะแสดงเป็นอักขระ Unicode เช่น🂹 ตัวเข้ารหัส Unicodeทำตามรูปแบบต่อไปนี้: 1F0ตัวเลขสามตัวแรกเป็น หลักต่อไปคือA, B, CหรือDสำหรับจอบหัวใจเพชรและคลับตามลำดับ ตัวเลขถัดไปคือ1ผ่านCและEสำหรับหมายเลข / การ์ดหน้าต่างๆ 1เป็นเอซ2- Aบัตรจำนวน, และB, DและEเป็นแจ็คราชินีและพระมหากษัตริย์ตามลำดับ ( Cคืออัศวินซึ่งไม่ได้อยู่ในสำรับส่วนใหญ่) ตัวอย่างผลลัพธ์: 🂶🃁🃛🃎🂧🂵🃗🂦🂽🂹🂣🃊🃚🂲🂡🂥🂷🃄🃃🃞🂺🂭🃑🃙🂪🃖🂳🃘🃒🂻🃆🂮🃍🂱🂴🃋🂸🃈🃅🃂🂨🃓🃉🂾🃇🂩🂢🂫🃔🃕 🂤🃝 กฎ: นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดชนะ ช่องว่างที่ต้องห้ามนั้นเป็นสิ่งต้องห้าม เด็คของคุณต้องถูกสุ่มจริง ๆ หากเรียกใช้ 20 ครั้งจะต้องสร้างเอาต์พุตแบบสุ่ม 20 รายการ (และมีแนวโน้มมากที่สุด) บันทึก ถ้าคุณจะเห็นกล่องติดตั้งแบบอักษร DejaVu

30
แบ่งสตริง
ท้าทาย รับสตริงและตัวเลขแบ่งสตริงออกเป็นส่วนขนาดเท่ากันจำนวนมาก ตัวอย่างเช่นถ้าจำนวน 3 คุณควรแบ่งสตริงออกเป็น 3 ชิ้นไม่ว่าสตริงจะยาวแค่ไหน หากความยาวของสตริงไม่ได้แบ่งเท่า ๆ กันตามจำนวนที่ระบุคุณควรปัดเศษขนาดของแต่ละชิ้นแล้วส่งกลับสตริง "เศษที่เหลือ" ตัวอย่างเช่นหากความยาวของสตริงอินพุตเท่ากับ 13 และตัวเลขคือ 4 คุณควรส่งคืนสี่สตริงแต่ละขนาด 3 รวมกับสตริงส่วนที่เหลือขนาด 1 หากไม่มีเศษเหลือคุณอาจไม่คืนค่าหรือคืนค่าสตริงว่าง หมายเลขที่ให้นั้นรับประกันว่าจะน้อยกว่าหรือเท่ากับความยาวของสตริง ตัวอย่างเช่นอินพุต"PPCG", 7จะไม่เกิดขึ้นเพราะ"PPCG"ไม่สามารถแบ่งออกเป็น 7 สตริง (ฉันคิดว่าผลลัพธ์ที่เหมาะสมจะเป็น(["", "", "", "", "", "", ""], "PPCG")มันง่ายกว่าที่จะไม่อนุญาตให้ป้อนข้อมูลนี้) ตามปกติ I / O ยืดหยุ่นได้ คุณอาจส่งคืนสตริงและสตริงที่เหลือหรือหนึ่งรายการของสตริงที่มีส่วนที่เหลือในตอนท้าย กรณีทดสอบ "Hello, world!", 4 -> (["Hel", "lo,", " wo", "rld"], "!") …
23 code-golf  string 

6
ผนวกหรือเติม? ขึ้นอยู่กับ
สมองสะบัดกลายเป็นวันพรุ่งนี้ปีหนึ่ง! เพื่อเป็นเกียรติแก่วันเกิดเรามีปาร์ตี้วันเกิดสไตล์ PPCG ที่ผู้ใช้หลายคนโพสต์คำถามที่เกี่ยวข้องกับสมอง! ช่วยเราเฉลิมฉลอง! :) Brain-flak เป็นภาษาลึกลับที่ฉันเขียนซึ่งคำสั่งทั้งหมดเป็นวงเล็บเหลี่ยมและวงเล็บทั้งหมดต้องตรงกันอย่างสมบูรณ์ ในการขอยืมคำจำกัดความของตัวเอง : สำหรับวัตถุประสงค์ของการท้าทายนี้เป็น "วงเล็บ" ใด ๆ ()[]{}<>ของตัวละครเหล่านี้: เครื่องหมายวงเล็บคู่หนึ่งถือว่าเป็น "จับคู่" หากวงเล็บเปิดและปิดอยู่ในลำดับที่ถูกต้องและไม่มีอักขระอยู่ภายในเช่น () []{} หรือถ้าทุกองค์ประกอบย่อยภายในนั้นถูกจับคู่ด้วย [()()()()] {<[]>} (()()) องค์ประกอบย่อยยังสามารถซ้อนกันหลายชั้นลึก [(){<><>[()]}<>()] <[{((()))}]> สตริงถือเป็น "จับคู่อย่างสมบูรณ์" ถ้าหาก: ตัวละครทุกตัวจะเป็นตัวยึด วงเล็บแต่ละคู่มีวงเล็บเปิดและปิดที่ถูกต้องและอยู่ในลำดับที่ถูกต้อง ในการเฉลิมฉลองวันคล้ายวันเกิดครั้งแรกของสมองความท้าทายในวันนี้เกี่ยวกับการใช้ชุดวงเล็บที่ไม่สมดุล ตัวอย่างเช่น((ไม่เป็นรหัสสะเก็ดของสมองที่ถูกต้อง แต่ถ้าเราผนวก))เข้าด้วยกันมันจะกลายเป็น(())ซึ่งมีความสมดุลอย่างสมบูรณ์ ที่ทำให้การป้อนข้อมูลนี้appendable ในทำนองเดียวกัน>}ไม่ถูกต้อง แต่เราสามารถเติม{<ให้มันเพื่อทำ{<>}ซึ่งถูกต้อง นั่นทำให้อินพุตนี้สามารถเตรียมตัวล่วงหน้าได้ อินพุตบางตัวมีความซับซ้อนมากกว่าเล็กน้อย ตัวอย่างเช่น)][({ไม่สามารถใช้งานได้อย่างหมดจดโดยการผนวกหรือต่อท้าย แต่มันก็สามารถที่จะทำถูกต้องโดย prepending และท้าย[( })]ดังนั้นการป้อนข้อมูลนี้เป็นทั้งprependableและappendable สุดท้ายอินพุตบางตัวไม่สามารถสร้างรหัสที่ทำให้เกิดการสะกิดในสมองได้โดยการผนวกหรือต่อท้าย ตัวอย่างเช่น(>ไม่สามารถทำให้ถูกต้องได้ (การ<สร้างที่เตรียม<(>ไว้และการ)สร้างที่ต่อท้าย(>)ซึ่งไม่ถูกต้อง) ดังนั้นอินพุตนี้ไม่สามารถต่อท้ายหรือต่อท้ายได้ สำหรับความท้าทายในวันนี้คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้สตริงของวงเล็บและพิจารณาว่าเป็นสตริงหรือไม่ …

30
ลำดับมังกร Curve
ลำดับโค้งมังกร (หรือกระดาษปกติลำดับพับ) เป็นลำดับไบนารี a(n)จะได้รับจากการปฏิเสธของบิตซ้ายของอย่างมีนัยสำคัญน้อย 1 nของ เช่นการคำนวณa(2136)เราจะแปลงเป็นไบนารี่ก่อน: 100001011000 เราพบว่าบิตที่สำคัญน้อยที่สุดของเรา 100001011000 ^ นำบิตไปทางซ้าย 100001011000 ^ และคืนการปฏิเสธของมัน 0 งาน รับจำนวนเต็มบวกเป็นอินพุตเอาต์พุต a(n)ให้ไว้เป็นจำนวนเต็มบวกเป็นนำเข้าส่งออก (คุณอาจส่งออกจำนวนเต็มหรือบูลีน) คุณควรตั้งรหัสของคุณให้เล็กที่สุดเท่าที่จะทำได้โดยวัดเป็นไบต์ กรณีทดสอบ นี่คือ 100 รายการแรกในการสั่งซื้อ 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 …

10
เม็ดฝนกำลังตกลงมาบน ... แว่นของฉัน
ฉันอาศัยอยู่ในสหราชอาณาจักรที่ซึ่งฝนตก มาก. ฉันยังมีความจำเป็นโชคร้ายที่ต้องสวมแว่นตาเพื่อดูซึ่งหมายความว่าเมื่อฝนตก (ตามที่เป็นอยู่ในปัจจุบัน) ฉันแทบจะไม่สามารถมองเห็นพวกเขาได้ ความท้าทายนี้คือเพื่อให้คุณทุกคนได้สัมผัสเหมือนกัน! งาน เอาท์พุทแว่นตา ASCII ศิลป์พร้อมหยดน้ำที่เพิ่มในแต่ละวินาที อินพุต ไม่มี เอาท์พุต คู่ของแว่นตากับหยดน้ำบนพวกเขา แว่นตา ________________________ | /__\ | | / \ | | / \ | \_______/ \_______/ เม็ดฝน .น้ำฝนจะแสดงโดย หยดน้ำฝนจะถูกวางแบบสุ่มบนเลนส์ของแว่นตา ดังนั้นเมื่อวางสายฝนแว่นตาอาจมีลักษณะเช่นนี้ ________________________ | /__\ | | . / \ | | / \ | \_______/ \_______/ หากวางไว้ในพื้นที่ว่าง ( …

13
สร้างฟังก์ชั่นการเติบโตที่ช้าที่สุดที่คุณสามารถทำได้ไม่เกิน 100 ไบต์
งานของคุณคือการสร้างฟังก์ชั่นที่เติบโตช้าที่สุดที่คุณสามารถทำได้ไม่เกิน 100 ไบต์ โปรแกรมของคุณจะรับข้อมูลเป็นจำนวนเต็มไม่ใช่ค่าลบและส่งออกจำนวนเต็มแบบไม่ลบ เรียกโปรแกรมของคุณ P จะต้องเป็นไปตามเกณฑ์ทั้งสองนี้: ซอร์สโค้ดของมันต้องน้อยกว่าหรือเท่ากับ 100 ไบต์ ทุกภาคมีความ N เช่นว่าสำหรับทุก n> = N, P (n)> เคในคำอื่น ๆLim (n-> ∞) P (n) = ∞ (นี่คือความหมายสำหรับการเป็น "การเติบโต") "คะแนน" ของคุณคืออัตราการเติบโตของฟังก์ชันพื้นฐานของโปรแกรมของคุณ โดยเฉพาะอย่างยิ่งโปรแกรม P เติบโตช้ากว่า Q หากมี N เช่นนั้นสำหรับ n> = N, P (n) <= Q (n) และมีอย่างน้อยหนึ่ง n> = N เช่นนั้น …

16
สุ่มกอล์ฟประจำวัน # 8: สุ่มรายการที่ไม่มีที่สิ้นสุด
เกี่ยวกับซีรี่ส์ ก่อนอื่นคุณอาจปฏิบัติเช่นนี้กับการแข่งขันกอล์ฟอื่น ๆ และตอบคำถามโดยไม่ต้องกังวลกับซีรีย์เลย อย่างไรก็ตามมีลีดเดอร์บอร์ดสำหรับทุกความท้าทาย คุณสามารถค้นหาลีดเดอร์พร้อมกับข้อมูลบางอย่างเพิ่มเติมเกี่ยวกับซีรีส์ในโพสต์แรก หลุม 8: สุ่มรายการที่ไม่มีที่สิ้นสุด คุณควรเขียนฟังก์ชันหรือโปรแกรมที่รับรายการอนันต์เป็นอินพุตและส่งคืนเวอร์ชันแบบสับของรายการนั้น เกี่ยวกับ I / O ไม่มีที่สิ้นสุด มีหลายวิธีที่คุณสามารถรับอินพุตและสร้างเอาต์พุตสำหรับความท้าทายนี้: คุณสามารถเลือกรายการจำนวนเต็มบวกหรือการแทนสตริงดังกล่าวหรือสตริงหรือรายการอักขระ ASCII ที่พิมพ์ได้ (0x20 ถึง 0x7E, รวมไว้ด้วย) รูปแบบผลลัพธ์ต้องตรงกับรูปแบบอินพุต ฉันจะดูข้อมูลว่า "รายการ" ต่อจากนี้ไปไม่ว่าคุณจะเลือกตัวเลือกใด คุณสามารถอ่านรายการจากอินพุตมาตรฐานแบบไม่สิ้นสุดและเขียนเอาต์พุตอย่างต่อเนื่องไปยังเอาต์พุตมาตรฐานแบบไม่สิ้นสุด การแก้ปัญหาไม่ควรขึ้นอยู่กับค่าเฉพาะหรือลำดับของค่าใด ๆ เพื่อให้แน่ใจว่าเอาต์พุตสตรีมจะถูกเขียนและล้างข้อมูลอย่างสม่ำเสมอ (เช่นคุณไม่สามารถเขียนเอาต์พุตเมื่อใดก็ตามที่มี5ในรายการอินพุต) แน่นอนถ้าคุณอ่านการแทนค่าสตริงของรายการคุณจะต้องรอจนกว่าจะเจอตัวคั่นรายการ ในภาษาที่รองรับพวกเขาคุณสามารถเขียนฟังก์ชั่นที่รับและส่งคืนรายการหรือสตริงที่ไม่มีที่สิ้นสุดที่ขี้เกียจ ในภาษาที่สนับสนุนพวกเขาคุณอาจใช้เครื่องมือสร้างที่ไม่มีที่สิ้นสุดซึ่งใช้ตัวสร้างอื่นเป็นอินพุต หรือคุณสามารถเขียนฟังก์ชั่นที่ไม่มีข้อโต้แย้งและคืนค่าเอาต์พุตหนึ่งค่าในแต่ละครั้งที่เรียกใช้ ในกรณีนี้คุณสามารถสันนิษฐานได้ว่าฟังก์ชั่นได้รับการกำหนดซึ่งจะไม่มีข้อโต้แย้งและส่งกลับค่าการป้อนข้อมูลต่อไปในแต่ละครั้งที่มันถูกเรียก คุณสามารถเลือกชื่อของฟังก์ชันนั้นได้อย่างอิสระ คุณอาจสมมติว่าโปรแกรมของคุณทำงานตลอดไปและมีหน่วยความจำที่ไม่มีที่สิ้นสุด (เป็นไปได้ที่จะแก้ปัญหานี้ด้วยจำนวนหน่วยความจำที่ จำกัด แต่สิ่งนี้หมายความว่าคุณได้รับอนุญาตให้หน่วยความจำรั่วไหล) เกี่ยวกับการสุ่ม สำหรับค่าใด ๆvที่อ่านที่ตำแหน่งiของอินพุตไม่สิ้นสุดจะต้องมีความเป็นไปได้ในเชิงบวกที่จะสิ้นสุดในตำแหน่งใด ๆi-9ถึงi +9ของเอาต์พุตแบบไม่ จำกัด (เว้นแต่ตำแหน่งนั้นจะเป็นค่าลบ ) …

15
ค้นหาจำนวนตัวอักษรและตัวเลขที่สามารถสร้างขึ้นจากตัวเลขเดียว
อักขระตัวอักษรและตัวเลขมีค่า ASCII: 0-9 -> 48-57 A-Z -> 65-90 a-z -> 97-122 ความท้าทายของคุณคือการใช้จำนวนเต็มเป็นอินพุทและเอาท์พุทจำนวนอักขระที่สามารถทำได้โดยใช้ตัวเลขที่ต่อเนื่องกันของตัวเลขนั้น รหัสอักขระอาจทับซ้อนกัน 666ควรส่งผล2ให้เนื่องจากคุณมี66สองครั้ง กรณีทดสอบ: Input: 5698 Possible characters: '8' (56), 'E' (69), 'b' (98) Output: 3 Input: 564693 Possible characters: '8' (56), 'E' (69) Output: 2 Input: 530923864209124521 Possible characters: '5' (53), 'V' (86), '4' (52) Output: 3 Input: …
23 code-golf  string 

3
รูปภาพของมังกร
ฉันเห็นรูปโค้งมังกรคู่แฝดที่ทำจากสี่เหลี่ยมและสงสัยว่าจะเกิดอะไรขึ้นถ้าเราเริ่มจากภาพฐานอีกภาพ ดังนั้นฉันจึงเขียนโปรแกรมเพื่อทำสิ่งนี้ มันเจ๋งมากที่ฉันคิดว่ามันจะสนุกที่จะทำมันเป็นความท้าทาย งาน คุณจะถ่ายภาพสี่เหลี่ยมจัตุรัสที่มีความยาวขอบซึ่งเท่ากับกำลัง 2 (มากกว่า 4) ในการทำให้ภาพนี้คุณควรเริ่มต้นด้วยการแบ่งภาพของคุณออกเป็นวงแนวตั้ง 4 วงที่มีขนาดเท่ากันและเลื่อนแถบที่อยู่ติดกันหนึ่งใน 8 ของขนาดของภาพในทิศทางตรงกันข้าม (วงที่เลื่อน จากนั้นคุณควรทำขั้นตอนนี้ซ้ำทุกครั้งที่แบ่งภาพออกเป็นสองเท่าของหลาย ๆ แผนกและเลื่อนครึ่งเท่าของเวลาก่อนหน้า การวนซ้ำแต่ละครั้งคุณควรสลับระหว่างการเลื่อนแนวตั้งและแนวนอน คุณควรวนซ้ำจนกว่าการเลื่อนจะทำให้คุณต้องเลื่อนตามจำนวนพิกเซลแบบเศษส่วน (ซึ่งจะเป็น 1/2 เสมอ) ณ จุดที่คุณทำ เมื่อเลื่อนแถบเลขคี่แนวตั้งจากซ้าย (ดัชนีเป็นศูนย์) ควรเลื่อนลงในขณะที่เลื่อนขึ้น เมื่อเลื่อนแถบเลขคี่แนวนอนจากด้านบนควรเลื่อนไปทางซ้ายในขณะที่เลขที่มีวงก็ควรเลื่อนไปทางขวา คุณต้องการเพียงผลลัพธ์ / แสดงผลลัพธ์สุดท้ายของการแปลงไม่ใช่ขั้นตอนกลางทั้งหมดเช่นใน gif นี่คือโค้ดกอล์ฟดังนั้นเป้าหมายคือเพื่อลดความยาวของซอร์สโค้ดของคุณตามที่วัดเป็นไบต์ ทำงานผ่านตัวอย่าง ฉันจะทำงานผ่าน cat gif ที่แสดงที่ด้านบนของเฟรมหน้าทีละเฟรม นี่คือภาพเริ่มต้น: ภาพนี้คือ 512 คูณ 512 พิกเซล เราจะแบ่งออกเป็น 4 แบนด์เพื่อเริ่มและเลื่อนแต่ละแบนด์โดย 1/8 ขนาดภาพ (64 …

2
ปรับการเรียงลำดับให้เหมาะสมโดยใช้“ การพลิกกลับ Sub-vector”
นี่เป็นความท้าทายในการดำเนินงานที่น้อยที่สุดโดยมีวัตถุประสงค์เพื่อจัดเรียงเวกเตอร์เป็นลำดับจากน้อยไปหามากโดยใช้การกลับรายการที่น้อยที่สุด อัลกอริทึมของคุณสามารถเรียงลำดับเวกเตอร์โดยใช้ "การสลับกลับ sub-vector" 1แต่สามารถใช้การดำเนินการอื่นสำหรับการดำเนินการทางคณิตศาสตร์ลูปตรวจสอบว่าเรียงลำดับหรือไม่เป็นต้นจำนวนการสลับกลับของเวกเตอร์ย่อย 1 A "การกลับรายการย่อยของเวกเตอร์": เลือกช่วงของตัวเลขในเวกเตอร์และย้อนกลับองค์ประกอบในช่วงนั้น ในการให้ตัวอย่างง่ายๆถ้าคุณเริ่มต้นด้วยเวกเตอร์{4,3,2,1}คุณสามารถเรียงลำดับได้หลายวิธี: ย้อนกลับเวกเตอร์ทั้งหมด เห็นได้ชัดว่านี่เป็นวิธีที่สั้นที่สุดเนื่องจากต้องการการกลับรายการเพียงครั้งเดียวเท่านั้น:{4,3,2,1} -> {1,2,3,4} คุณสามารถทำบับเบิลการเรียงลำดับซึ่งต้องย้อนกลับ 6 ครั้ง: {4,3,2,1} -> {3,4,2,1} -> {3,2,4,1} -> {2,3,4,1} -> {2,3,1,4} -> {2,1,3,4} -> {1,2,3,4} คุณสามารถเริ่มต้นด้วยองค์ประกอบ 3 ประการแรกจากนั้นจึงสามองค์ประกอบสุดท้ายและสุดท้ายทั้งสององค์ประกอบแรกและอีกสองครั้งสุดท้ายซึ่งต้องใช้ 4 swaps: {4,3,2,1} -> {2,3,4,1} -> {2,1,4,3} -> {1,2,4,3} -> {1,2,3,4} ... และต่อไป มีตัวเลือกไม่ จำกัด จำนวน (คุณสามารถทำซ้ำการดำเนินการใด …

10
มดบนบันทึกธรรมชาติ
นี่เป็นความท้าทายเริ่มต้นที่ดีและเป็นนักฆ่าเวลาที่ดี ฉันเพียงแค่พูดว่า - บันทึก - ธรรมชาติเพราะชื่อสั้นเกินไปนี่ไม่มีส่วนเกี่ยวข้องกับลอการิทึม รับ 2 ตัวแปร: nจำนวนของมด wความกว้างของการเข้าสู่ระบบ การส่งออกเข้าสู่ระบบของความกว้างwกับnมด (ตัวอย่างแสดงให้เห็นw=3,n=6 ) | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ …

2
หลบหนีกระดานหมากรุก
คุณพบว่าตัวเองอยู่บนกระดานหมากรุกอย่างที่คิด คุณสามารถเห็นทางออก แต่มันอยู่ไกลมากและคุณจะไม่เดินไปตลอดทาง โชคดีที่ชาวบ้านบางคนเสนอให้คุณนั่ง อัศวินผู้โกงนักบวชและราชาต่างก็เต็มใจที่จะพาคุณไปยังจุดหมายปลายทางของคุณ แต่เมื่อเห็นว่านี่เป็นกระดานหมากรุกที่พวกเขาต้องปฏิบัติตามกฎของหมากรุกระหว่างทางไปยังปลายทางของคุณ คุณต้องการออกจากที่นี่โดยเร็วที่สุดคุณยอมรับข้อเสนอของใคร งาน ให้กระดานหมากรุกที่มีรูปร่างและขนาดโดยพลการและมีสองจุดบนกระดานหมากรุกให้นำเอาชิ้นส่วนหมากรุกที่สามารถเคลื่อนที่ระหว่างสองตำแหน่งในเวลาไม่กี่วินาที บอร์ดจะไม่จำเป็นต้องมีความหมายอย่างต่อเนื่องซึ่งอาจมีช่องว่างระหว่างส่วนของกระดาน แต่ละสี่ชิ้น (ราชาโกงอัศวินและบิชอป) สามารถย้ายตามกฎมาตรฐานในหมากรุก ชิ้นส่วนของราชินีและจำนำได้ถูกทิ้งไว้โดยไม่เจตนาจากความท้าทายนี้ I / O คุณสามารถป้อนข้อมูลในรูปแบบที่เหมาะสมและคุณอาจส่งออกในรูปแบบใดก็ได้ที่คุณเลือกเช่นกัน อินพุตและเอาต์พุตของคุณต้องสอดคล้องกัน หากหลายชิ้นสามารถไปถึงปลายทางในจำนวนการเคลื่อนไหวเท่ากันคุณจะต้องส่งออกชิ้นส่วนทั้งหมดที่สามารถไปถึงได้ในเวลาขั้นต่ำ หากไม่มีสี่ชิ้นใดที่สามารถทำให้จบคุณสามารถเอาท์พุทอะไรก็ได้ตราบใดที่มันแตกต่างจากผลลัพธ์อื่น ๆ ที่เป็นไปได้ทั้งหมด ซึ่งอาจรวมถึงการแสดงผลอะไรหรือโยนข้อผิดพลาด กรณีทดสอบ สี่เหลี่ยมหมายถึงจุดเริ่มต้นและวงกลมแสดงถึงจุดสิ้นสุด โคน อัศวิน กษัตริย์ โกง ราชาอัศวิน ไม่มี
23 code-golf  chess 

30
ความเท่าเทียมกันของผลรวมขององค์ประกอบอื่น ๆ
งาน รับอาร์เรย์ของจำนวนเต็มบวกแทนที่แต่ละองค์ประกอบด้วยความเท่าเทียมกันของผลรวมขององค์ประกอบอื่น ๆ อาร์เรย์รับประกันว่ามีอย่างน้อย 2 องค์ประกอบ คำนิยาม พาริตี: ไม่ว่าจะเป็นเลขคี่หรือคู่ ตัวอย่าง สำหรับอาร์เรย์[1,2,3,1]: แทนที่1ด้วยความเท่าเทียมกันของคือ2+3+1even แทนที่2ด้วยความเท่าเทียมกันของคือ1+3+1odd แทนที่3ด้วยความเท่าเทียมกันของคือ1+2+1even แทนที่1ด้วยความเท่าเทียมกันของคือ1+2+3even เอาท์พุท: [even, odd, even, even] อินพุต อาร์เรย์ของจำนวนเต็มบวก คุณอาจคิดว่ามันเป็นอาร์เรย์ที่เหมาะสมหรือเป็นสตริงจำนวนเต็มบวก คุณอาจคิดว่าอาเรย์และค่าภายในนั้นอยู่ในความสามารถในการจัดการภาษาของคุณ เอาท์พุต อาร์เรย์ของสองค่าที่สอดคล้องกันอย่างใดอย่างหนึ่งที่เป็นตัวแทนคนหนึ่งที่เป็นตัวแทนของoddeven คุณสามารถส่งออกมันเป็นสตริงที่คั่นด้วยตัวป้อนบรรทัดของทั้งสองค่า Testcases ปัจจัยการผลิต: [1, 2, 3, 1] [1, 2, 3, 2, 1] [2, 2] [100, 1001] ขาออก: [even, odd, even, even] [even, odd, even, …

5
ที่ดินของคุณดีแค่ไหน?
ในการท้าทายนี้คุณจะคำนวณว่าที่ดินของคุณดีแค่ไหน เขียนโปรแกรมหรือฟังก์ชั่นที่คำนวณขนาดที่ดินของคุณจากกำแพงที่คุณสร้างขึ้น คุณได้รับสตริงป้อนข้อมูลที่ไม่ว่างประกอบด้วยชุดอักขระ 4 ตัวที่คุณเลือกซึ่งเป็นตัวแทนของทั้งสี่ทิศทาง "ขึ้น", "ลง", "ซ้าย" และ "ขวา" (ฉันจะใช้^ v < >ในการท้าทายนี้) ไม่สามารถเลี้ยวได้ 180 องศา ( <>หรือ^v) แต่คุณสามารถข้ามกำแพงได้ วิธีที่คุณ "จับ" ที่ดินคือล้อมรอบด้วยกำแพงของคุณ กำแพงเองก็ถือว่าเป็นส่วนหนึ่งของที่ดินของคุณด้วย ตัวอย่างบางส่วนจะทำให้ชัดเจนยิ่งขึ้น ฉันจะใช้oสำหรับที่ดินที่ล้อมรอบด้วยกำแพงxเพื่อกำแพงและSสำหรับจุดเริ่มต้นของกำแพงเพียงเพื่อแสดงให้เห็นว่าผนังถูกสร้างขึ้นอย่างไร การส่งออกควรจะมีขนาดรวมของที่ดินของคุณ (จำนวนo, xและSในกรณีทดสอบด้านล่าง) Input: >>>> Land: Sxxxx Output: 5 Input: <<<^^^>>>vv Land: xxxx xoox xoox xxxS Output: 16 Input: <<<^^^>>>v Land: xxxx x x …

20
ทดสอบว่าสตริงสามารถทำกับสตริงย่อย!
กำหนดสตริงsและอาร์เรย์ / รายการlตรวจสอบหรือไม่ว่าสามารถทำกับชิ้นส่วนจากsl ตัวอย่างเช่นหากสตริงคือ"Hello, world!"และรายการ[' world!', 'Hello,']นั้นโปรแกรม / ฟังก์ชั่นควรส่งกลับค่าความจริงเพราะคุณสามารถจัดเรียงรายการเพื่อสร้างสตริง รายการต่อไปนี้จะคืนค่าความ['l', 'He', 'o, wor', 'd!']จริงด้วย: ลองนึกภาพการ'l'เติมในสิ่งที่เขาต้องการในสาย ใช่แล้วคุณอาจทำซ้ำองค์ประกอบของรายการเพื่อจัดรูปแบบสตริง หากไม่สามารถสร้างสตริงได้ควรส่งคืนค่าที่ผิดพลาด วิธีการมาตรฐานของ IO ใช้ช่องโหว่มาตรฐาน กรณีทดสอบ: Input (In the form of s, l) Output (1 if possible, 0 if impossible) "Hello, world!", ["l", "He", "o, wor", "d!"] 1 "la lal al ", ["la", " l", …

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