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

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

21
สุขสันต์วันเบคอน!
วันนี้เป็นวันเบคอนซึ่งอาจเป็นเหตุผลว่าทำไมชื่อหมวกที่เข้าร่วมในวันนี้คือ "Mmmm Bacon" อะไรจะดีไปกว่าการฉลองวันเบคอนด้วยเมทริกซ์ 2 มิติที่เต็มไปด้วยความสนุกทำจากเบคอน! แถบเบคอนขนาด 1 คูณ 1 แสดงโดย: ----- )===) (===( )===) ----- เป้าหมายของคุณที่นี่จะได้รับสองพิกัดใน tuple, ( x, y) โดยที่xและyเป็นจำนวนเต็มบวกที่ไม่ใช่ศูนย์คุณจะต้องสร้างเบคอนและส่งกลับในบางรูปแบบ (รายการอาร์เรย์สตริง) อินพุตและเอาต์พุต: Input: (2, 1) Output: ---------- )===))===) (===((===( )===))===) ---------- Input: (1, 2) Output: ----- )===) (===( )===) ----- )===) (===( )===) ----- Input: (2, 2) ---------- …

13
ปริมาณของกล่อง ASCII
บทนำ ในความท้าทายนี้คุณจะได้รับเป็นข้อมูลป้อนเข้าเป็นตัวแทน ASCII ของตาข่าย (พื้นผิวที่กางออก) ของสี่เหลี่ยมลูกบาศก์ (กล่อง 3D) รูปแบบคือ: ....+--+....... ....|##|....... ....|##|....... ....|##|....... +---+--+---+--+ |###|##|###|##| +---+--+---+--+ ....|##|....... ....|##|....... ....|##|....... ....+--+....... ใบหน้าของลูกบาศก์แต่ละหน้าเป็นรูปสี่เหลี่ยมผืนผ้า#ล้อมรอบด้วย+-|-characters ด้านนอกของตาข่ายเต็มไปด้วย.s ตาข่ายจะมีทิศทางเดียวกันเสมอ: มีใบหน้าตรงกลางล้อมรอบด้วยใบหน้าที่อยู่ใกล้เคียงสี่ใบหน้าและคู่หน้ากลางอยู่ที่เส้นขอบด้านขวาของอินพุต อินพุตนั้นถูกเติมด้วย.s ไปเป็นรูปสี่เหลี่ยมผืนผ้าและจะไม่มีแถวหรือคอลัมน์เพิ่มเติมของ.s งาน งานของคุณคือนำอินพุทไดอะแกรมดังกล่าวข้างต้นและคำนวณปริมาตรของลูกบาศก์ที่มันแทนซึ่งเป็นเพียงผลคูณของความสูงความกว้างและความลึก คุณสามารถรับอินพุตเป็นสตริงที่คั่นด้วยบรรทัดใหม่หรืออาร์เรย์ของสตริง ความยาวของแต่ละขอบคือระยะห่างระหว่าง+-characters ที่ปลายทั้งสอง ตัวอย่างเช่นขอบแนวนอน+--+มีความยาว 3 และขอบแนวตั้ง + | | | + มีความยาว 4 ความยาวต่ำสุดของขอบคือ 1 ตัวอย่างลูกบาศก์ข้างบนมีปริมาตร 2 * 3 * 4 = …

19
เท็มเพลตโปรแกรมสำหรับการพิมพ์สตริง * any *
เขียนโปรแกรมด้วยคุณสมบัติต่อไปนี้: เมื่อรันตามที่เป็นอยู่โปรแกรมจะไม่สร้างเอาต์พุต (เช่น 0 ไบต์ของเอาต์พุต) มีที่ตั้งอยู่ภายในโปรแกรม (ที่คุณเลือก: อาจเป็นที่จุดเริ่มต้นจุดสิ้นสุดหรือจุดกึ่งกลาง) ด้วยคุณสมบัติต่อไปนี้: การแก้ไขโปรแกรมผ่านการวางสายใด ๆจะทำให้โปรแกรมที่พิมพ์สตริงนั้นเมื่อ ดำเนินการ สิ่งนี้จะต้องใช้งานไม่ว่าสตริงนั้นจะมีเครื่องหมายคำพูดแบ็กสแลชเครื่องหมายความคิดเห็นตัวคั่น NUL ไบต์เป็นต้นหรือไม่ ไม่ว่าคุณจะใส่อะไรไว้ที่ใดก็ตามสตริงนั้นยังคงถูกตีความเป็นสตริงและพิมพ์คำต่อคำทั้งหมด อย่างไรก็ตามคุณสามารถจัดการกับสายอักขระที่ยาวมาก ๆ ได้หากมันจะทำให้คอมไพเลอร์หมดหน่วยความจำหรือสิ่งที่คล้ายกัน (อย่างแม่นยำคุณอย่างน้อยควรจะสามารถจัดการกับสายยาวได้ถึง 1,000 ไบต์หรือสามครั้ง ความยาวของโปรแกรมของคุณแล้วแต่จำนวนใดจะยาวกว่า) ตัวอย่างของโซลูชันที่ไม่ถูกต้องคือ print(""); # ^ text goes here ใน Python, Perl, Ruby และอื่น ๆ ; แม้ว่าจะใช้งานได้กับสตริงจำนวนมาก แต่จะไม่ทำงานสำหรับสตริงที่มีเครื่องหมายคำพูดคู่หรือสตริงที่มีสตริงย่อย\n(ซึ่งจะตีความว่าเป็นบรรทัดใหม่) โปรดทราบว่าปัญหานี้อาจเป็นไปไม่ได้ในภาษาส่วนใหญ่ ความท้าทายอย่างน้อยบางส่วนเกี่ยวกับการค้นหาภาษาที่ใช้งานอยู่ ภาษาที่คุณเลือกจะต้องเป็นภาษาโปรแกรมภายใต้คำนิยามของเว็บไซต์นี้เช่นไม่มีการส่งวิธีการแก้ปัญหาในข้อความ เช่นนี้เป็นรหัสกอล์ฟที่สั้นที่สุดโปรแกรมแม่แบบชนะ อย่างไรก็ตามอย่าท้อแท้จากการส่งคำตอบแม้ว่าพวกเขาจะไม่สามารถเอาชนะผู้ชนะคนปัจจุบัน! คุณยังคงสามารถแข่งขันเพื่อชิงอันดับที่สองที่สามหรือที่อื่น ๆ หรือเพียงเพื่อหาคำตอบให้ได้มากที่สุด อย่างไรก็ตามคุณควรตรวจสอบให้แน่ใจว่าโปรแกรมของคุณตรงตามข้อกำหนดทั้งหมดก่อนที่จะส่ง การแก้ปัญหาโดยประมาณจะทำให้พลาดจุดที่เป็นปัญหา

30
Cops: ทำ regex - ทำงู
นี่คือกระทู้ของตำรวจ ด้ายโม่งคือที่นี่ เขียนรหัสที่รับอินพุตnและสร้าง n-by-n "snake matrix" งูเมทริกซ์เป็นเมทริกซ์ที่เป็นไปตามรูปแบบนี้: 3 คูณ 3: 1 2 3 6 5 4 7 8 9 และ 4-by-4: 1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13 รูปแบบผลลัพธ์ที่แน่นอนเป็นตัวเลือก คุณอาจส่งออกตัวอย่าง[[1 2 3],[6 5 4],[7 8 9]]หรือสิ่งที่คล้ายกัน คุณต้องระบุชื่อภาษาและ regex ที่ตรงกับรหัสของคุณ คุณสามารถเลือกว่ารายละเอียด regex …

11
เชื่อมต่อพิกเซล
รับข้อความเช่นนี้: # #### ## # ## # ## # #### ## เอาท์พุทข้อความเดียวกัน ─│┌┐└┘├┤┬┴┼แต่โดยการเชื่อมต่อพิกเซลกับตัวละคร หากพิกเซลไม่มีเพื่อนบ้านไม่ต้องเปลี่ยน ดังนั้นผลลัพธ์ของข้อความสุดท้ายคือ: │ ─┬── ┌─ │ └─ │ ┌┘ │ └──┘ ─┘ คุณสามารถรับอินพุตเป็นอาร์เรย์บูลีน ข้อมูลที่ป้อนจะมีอย่างน้อย 1 พิกเซล คุณสามารถนับตัวอักษรแบบวาดกล่องเป็น 1 ไบต์ คุณสามารถสันนิษฐานว่าอินพุตนั้นถูกเติมด้วยช่องว่าง กรณีทดสอบ ## # => ── # ### # => ─┬─ │ ##### ## # # # ######## …

7
คำ -> เส้นขอบฟ้าเมือง
ความท้าทาย โปรแกรมหรือฟังก์ชั่นของคุณจะยอมรับอินพุตสตริงเดียวจาก STDIN หรือพารามิเตอร์ฟังก์ชั่น คุณสามารถสันนิษฐานได้ว่าการป้อนข้อมูลจะมีเพียงตัวอักษรตัวอักษร (a-zA-Z) ช่องว่างและหยุดเต็ม ข้อมูลที่ป้อนเข้านั้นไม่ตรงตามตัวพิมพ์ใหญ่และตัวพิมพ์ดังนั้นคุณควรปฏิบัติต่อ 'a' เหมือนกับที่คุณปฏิบัติกับ 'A' สำหรับอักขระแต่ละตัวในสตริงคุณจะแสดงผลลัพธ์ของสิ่งปลูกสร้างตามข้อกำหนดต่อไปนี้ อาคารแต่ละหลังจะต้องมีหลังคาที่กำหนดโดยขีดล่างบนบรรทัดบนสุดจากนั้นใช้เครื่องหมายทับ, ช่องว่าง, เครื่องหมายแบ็กสแลชในบรรทัดที่สอง _ / \ จากนั้นคุณจะมีจำนวนชั้นตรงกับหมายเลขตัวอักษร (a = 1, b = 2, c = 3 ฯลฯ ) ซึ่งแสดงโดยผนัง (|) แต่ละด้านและช่องว่างตรงกลาง พื้นด้านล่าง (และชั้นล่างเท่านั้น) ควรมีฐานรากซึ่งเป็นขีดล่างระหว่างผนัง แบบนี้... |_| ตัวอย่างเช่น 'b' จะมีลักษณะเช่นนี้ _ / \ | | |_| ตอนนี้เรารู้แล้วว่าอาคารที่แคบและสูงมากไม่สามารถยืนได้และจะต้องกว้างขึ้นที่ฐานดังนั้นจึงไม่มีอาคารใดที่สามารถยืนสูงกว่าสามชั้นได้โดยไม่ต้องมีการสนับสนุนเพิ่มเติม ดังนั้นทุกสามระดับ (ไม่น้อยกว่า) …

15
คุณจะนำอะไรมาขอบคุณพระเจ้า
วันขอบคุณพระเจ้าในสหรัฐอเมริกากำลังจะมาถึงในวันที่ 24 พฤศจิกายน หลายคนจะทานอาหารค่ำกับครอบครัวแบบดั้งเดิมรวมถึงไก่งวงและเครื่องเคียงมากมาย โดยทั่วไปหมายความว่าสมาชิกในครอบครัวจะต้องประสานงานว่าใครจะนำอาหารจานต่าง ๆ มาให้ ในความท้าทายนี้เป้าหมายคือการเขียนรูปหลายภาษาที่ให้ผลลัพธ์จานที่แตกต่างกันในแต่ละภาษาที่ใช้ เมนู (เลือกจากWikipediaในกรณีที่ไม่ชัดเจนแต่ละบรรทัดเป็นหนึ่งรายการ) turkey stuffing dressing cranberry sauce mashed potatoes gravy winter squash sweet potatoes corn green beans green bean casserole mac and cheese macaroni and cheese salad rolls biscuits corn bread pumpkin pie apple pie mincemeat pie sweet potato pie pecan pie …

24
มีไฟกี่ดวง?
คุณเป็นจุดเล็ก ๆ บนเครื่องบินคาร์ทีเซียน ครุ่นคิดถึงการมีอยู่ของคุณคุณตัดสินใจที่จะท่องไปรอบ ๆ เครื่องบินและสัมผัสกับสิ่งต่าง ๆ คุณสังเกตเห็นว่าทุกคู่ประสานงานที่คุณเยี่ยมชมมีสวิตช์ไฟ เพื่อความบันเทิงของคุณคุณตัดสินใจที่จะสลับทุกสวิตช์ที่คุณเจอ ความท้าทาย : สร้างโปรแกรมที่จะใช้ใส่ของความยาวสุ่มโดยใช้เพียงตัวละครv, ^, และ< >ตัวละครเหล่านี้สอดคล้องกับการเคลื่อนไหว < ย้ายหนึ่งหน่วยไปทางซ้าย ^ ย้ายคุณหนึ่งหน่วยขึ้น > ย้ายหนึ่งหน่วยไปทางขวา v ย้ายคุณหนึ่งหน่วยลง ใช้อินพุตที่สร้างแบบสุ่มนี้คำนวณจำนวนสวิตช์ที่เหลือในONตำแหน่งโดยสมมติว่าคุณเริ่มต้นที่ (0,0) ไฟทั้งหมดเริ่มต้นในOFFสถานะและคุณจะไม่เปิดไฟใด ๆ จนกว่าคุณจะย้ายครั้งแรก (หมายความว่าถ้าคุณเริ่มต้นที่ (0,0) และเลื่อนขึ้น 1 หน่วยเป็น (0,1) ตอนนี้จะเปิดไฟ1ดวง) ถ้าคุณเจอสวิทช์ที่อยู่บนที่ตำแหน่งก็จะถูกเปิดONOFF กรณีทดสอบ: v>v<^^<v<<^<^><<>^^>>><v>vv^v>v^><><<^>><<<vvv^vvv>v>>v><vv^^<<>vv^^>v^<>>^^<^^>^^v<^>^<vvv^v^v><^<<v<<>><<>v>>^><^>^^<>>>>vv>^<<^<<><vvv<v^>>vvv>v^>>><<v^>^^^^v>>^>^v>v<vv^<>^<<v>vv>><^^<^><vv^^v<v<v^^^>v<^vv^v<><vv^^^>v^>v>vv<<^><v<^v><<v^^v>>v<vv<><^^^v<^v><><<^^<>^>><^^^>vv^<>>>>^<^<<<<>>>v<<v<v<vv><<vv<vv<^v^^^>>vv<>v>><<<v^>vv><v<<<v<<>^vvv^<v^v>^^v^v><<v^>>>v<v<v^>>>v><>>>^<><<<<>vv>v><v>v><^v<>v>>>vv<<>^>^>v<^><^<^vv^><^^>v<^^v>v^v<^^^^vv<>v<>><v^^><>v<<<>v^<v^^><>^<>^<>><>^^<>^v><>>><v<^^>>v>^^^<v ถัวเฉลี่ย 125 ไฟ >>><^>>>^vv><^^v^<<<>>^<>>^<^>^<<^^v^<v^>>^<<><<>^v<^^^vv>v><^>>^<^<v><^v<^<<^^v><>>^v<^>^v<vvv<<<v^vv>>^vv>^^<>>vv>^<^>vv<>v^<^v<^^<v^^^<<^><><>^v>vvv<^vvv<vv><vv<^^v^^<^^>>><<<>^<>>><^<<<>><>^v><^^vv<>>><^^^<^>>>>v<v^><<>v<v<v^<<^><v^^><>v>^<>^^^vvv<v^>^^^^v>v<v>>>v^^<v<vv>><<>^vv><<vv<<>^^v>>v<^^v>><v<v<<>^^vv>>^v>v>v<>^>^v<>>><>v>v<<v<^<>>>vv>>v>^<>vv^v><><^v^>v<^^>v<^v>>v^>^>>v>v>^>^<^^>vv>>^vv<^><>^><<v^<><<^<^>^^vv^<<^^<^^v<v<>^>v>>>>>>vv<<v>^>vv^>^><^<^^><<vvvv>vvv<><<><v^vv><v^^<>^>><^vv<><>^>vv>>>vv^vv<<^v^^<<v^^>^>vvv<><<v>^>^>v<v>^<^^^^<^>^>><>>^^vv<>v<^>v><v<v^>>v<^v<vv>v^>v<v^<^^^^v<^<^<<v<<<v<v^^>vv^>><<<v>>^^^>^<^>>>v^v><^^vv^>><^^vv<vv<v^><>>^><<<>>^^v^v<<v^<vv^^^>><>>^v^^^>>^>^<<^>v>^^v>><>v>^>vv^^<vvvv<><^v>^><<>>><^<^v^<<vvv^v<<<<<><><<><><<v>v<v>v><^v^^vvv>><>^>^>^v<<vv^^^v^vv><v><><v<v<<>>>v<^<^v<<>^v<<^v<><>v>>^^>^<v^<<^v^^^vv>><v^<v>^v><^<>>>>^^<vv<>^^>^>v^v^^>><>^^<^v^<v<<v<^<<^^vv>v>^<vv<<^^v^vv^>^^<>v>^>^<>vv><v>>><<><<vv^^<vv<>>^v>^<<vv>^><<>^<v>v><<v^<v<><v>^<^<^><^^^^>>>^<>^^><>>v^<vv^<^<<vvvv>>>v^v>>^>v^><<>>v<>>^>><vvvvv<<vvvv<v>^v<vv^<>><<><v^^<^<v>^v<^<<>^v<v^<>v<<>^<<vvv><^><^^^<>>v^<<>vv><^^^>><^>v^v>v<v^>>v>>v>vv<<v<<vvv^^^>^<v^^<^<v<^<>>v^<<v>>v^><v<vvvvv^^^<v^^<><v<<^>>^><^<v^v^^>><v><>v>^<vvvv><<v^^v^>^>v>><>^^v>v^>vv^>v<^<<^vv^>vv^<v>^<v^<>^v>v^>v^<<>^^<^>^^>vv^>>vv>v>vvv><>^v<<<<v^>v^^v<><v<v>^<^><^><<v<>><<>v^^>>><<><>>><<>><v^^>><^>><^<>v^^vvv>v<^<<vv^>vv^><<>v><>^<>v^^v>^>v^<>^><v>^><<^v<v^^<v>><^^>>^<^<^v<v>^>^<^<v><><>>>><>^<^<v>v<v^>v><>v^>v^<<><^<>>v<^vv^^^>^<<<<>^>^<><^vvv>^^<v^v>v>v^v>v>>vv>^><>^vv>^<v<v^<>vv^<v<><>^>>vvv><>>^<<v^<<>^<v^>v<^^^<^<^^<>^>>v>^<v>vv<v^^>><<<<<>>v>^v>^>>>>v>>^^>^<<<^<<<v>>^><<<<^vv<<>^v<^>v^<v<<>v<>^<^<^<^<>>^^^vvv<v>^vv>^><^<v^>^v<v>><><vvv<^^>>v<^v>^>>>><v^<v^^<^^v<vvv<v>^^<<>><^<v^v<^vv>v>vv>^^<>^^^^>>^v><vv<<<v>^v^>>v^>><<<^v^v<<>><<vvvvv<v^vv>vvvv><v^v<^^^><vv^^<>><>><^>^^^^v>v><><v^<>^v<>^^<^^>^^^vvv>>vv^v^<v<vv^v>v>>>^v^^vv^<^v>v^v>>^v>v<v^<^^><vvv>><<>><>><v>v<^<v>>>>v^^v^^>^><<v><^<<>>v<>^^<<>vv^>>vv^^^v>>>^v^><v<<^>v<v><>>>^>>^<<>>^><<vv<^^>^^^v^^<>>>vv><<>v<><<<>v<<>>>v<>v<>^<vv^v<^^<<<v>^v>>^^>^><<^vv<><><>v>^v>^<>v>>^^^<^^>>vv>v<<<v^><<v><^v><>v<^<<^<>^vv>^><^^^^^<<v^^<>v>><^<v^^^vv>^v<>^<v<v>v>^><^<<^<>><^^>vv^<>^<>vv<>>v<vv^>><^^<^>v<><>vv<v<>>v><v^^^>^^^<<vv^><^^v>v>^<^>v^><<vvv>v^><vv<><^<><^>^v<><<v^<<><>^^^^<<^>>^>^v^>v>^<<^>vv^vv^v<>^<<^>v<^^<<v<v<<<^>vv^>><>v>><><v>v><v^><vvv>vv<<vvv>v^<<^v<^<><<^v>v<>>vv<<v^>v>v<<>>^vv^<^^^<^v>>^<vv>^<v>><>v>^^<<v^<>>>>>v^v>><>v^>>^<>>^<^vvv^^^<^v<><vvv^>^>v><<v>>^v>v<v>v^<v>v>^<>vvv>vvv^^<>vv>^^^^^>v<<^v<>>>><<<>>><vv>>^v^^v<v^>>>^>^v<^v>^v<>vv<><vvv^v<<<<v<vv>vv^<^vvv<^v>v^^vv<^>>>^^>>^^><>^>>v<>>>^^<<v<^<<<<<^^<v^^^<<>><<<^>^v^>vv<>>>^^v><<>^^^^<vvv><^^<>>>^><<^>><v>^<>^v^<vvvv^>>^><<>><^<v^>>vv^vv<^>>>><^>^v<^<v<^^<^<^><^<>>^<>v^v<<>v>v<>><<v<^v<<<^v<v<>><v<^<^>>v>v>><v^<v><>>>>>v^v>><^<^<v>><v^v>v<>v<v><<<>^^><>^^<^vv^^<>v><><><^>^^v^vv^<><>>>>v><>>^>^<<^<v<v^>v^^<v>>><<^^vv^^>><<^<vvvvv>><^>^>>^vv<><<>v>v^<<<^v<^^<<^vv>v<vvv><^v>vv^vvvv<^>^v^<<<<^v<<<>^vvv>^v><<>>v<v<^v^<>v>>^^v^vv>>>^v^^>>^<><><<<<^vv>>>>>v>v^>v<>><<<>^vv>^^^^<^^^>^^^^>^^^v^v><^>^>>>v<v<^<^^<<^v<<^<>vvv^^^^v^<<>vv>^^>>><^^v<^<<<v<>v<<><>v<><>^<v<<^>^^>><<v>^^><^^v<^<v^<^^<>^<>^v^>>^^v^v^<>v<>^<<<>^v^v>^<vvvv<>v<<>vv^<<>vv>>>>^<v><>>>v^><<>^v>><<>>^^v><^<>>vv^^^>vv^<^^v><v>>vvv^v<^v>v<<^^<>v^^^v^^>><v^>>v^v^vv<^>v^<^>^>v<v^><vvv^>^<>v<<^><^^<vv>v>>vv>v^>>^vvv>>v^>^^>vvv>>v><<>>^^v>v<v<><<<<^^v<^<>^v>><v^^^<>>vvv>v><<v>^^<^vvvv^v>v>^vv>^vv^^v><<>>^^>>v>>>^v><^>v<^^<>vv>v>v^^^>>^^^><<<<>>^>>^<^v<^<^<>^><v<<v>v<>^>>^<<v^^<v^vvvvv>>v^>>^^^<^^<><<><><>^v>vvv^>^^>v<^^>^<<^v^^^><>><<v<^^^<<<<>><>><<^^v><v^<<^v<v><<>^<v>^>^v>vv>><v^<^<v<v<v><^^^^>>><^<><^v^v<<<^>vv^<v^>^^v^>>><<<<^<>>><v>>>vv^>^^<v^v>>>v^<^<>vv>^v^^><<<v>v>v>><>>>v<^>^<>>^^<v^<<^<v^>><^v^><><v><><v^vvv<<>v>>><<><v>v<>>><^<^^v<v>^<<>^v>^>^>^^<^^><^>>>>><^^>vv>^<^^<><^>^<^^><^<v>v^>><^>^^^>>v^v<^>>^<v^<>^><><v>>^v<v^^^^v<^vv><^v>>^^^<>^<^<^>vv^v<<>vv>^<>v>^>^>vv^v<vv<^^^v<v>v>v^<^^^v><v<<<^^<><^^>>>><<^^v<<^>v<<vv^^^vv^vv^<v><>^v<v>>><vv^v<v^>>>>^<<<vv^>>v>^><<><<^<^><<vv^>v^>><>v^<<<>v^><>><<>>v><>v^<v><>^v>>><><>>>^vvv^v>vv>>>^^v^><<v<>>^^^v^^><<^v<><><v<<v<v<><<<v^<^^^<>v^^v<^^<<^>v<<v><^<<<<>><>^v>^<>^<^^v^vvv>^^<>^>><v^^vv^<>^<><<^^^v<^^^>>^^v>^>^<^>v><<^<>^v<><vv^vv<><<<<<<v<<v<<vv^<<^<^vvvv><v^v^v<>>>vvvvv^<vv^<^<>vv>^<><<v><>v^^<v<>>>vvv^><^<^>v^^<v>^<>>>^^v^<vv<<<<^><v<<<>v<<<v<>>^^^>^><>v>^v^>^<v^^><^v^^<^v^^>^v>>^^^<<><><<<>v>><^><>>>vvvv>v>>v>^^^^v<><vv<^<v^v>>^^vv<^>vvv>^v>>><v<v<v^<^>^^<vvv<vv<v>>^vv>^<<^<^<v>v^<vv^^^v>vv<v><v><v>^<v>>vv<>v>^^>v^^^<>v<>v^v<>^<><v><^>^<v^v><<^v^v^v<<v><<^^<^vv>^<^v><>v>><v^v^>><><><<<v<>v<^vv>v<v<<>^vvvvv^<<<^<vv><<><>v^<^v<<<^>v>v<v^<<^>v<<^<v><<<^>vv>v>^<^^v>>>><>vv>>vv>vvv<>^^<>^v^<>vvv<^^^vv>v><<<<vv^v><v^<^<<<><v<>^><<>^>v<^^<<>v>>v<<>><^^<<<^<^vv^^>v>v<>^^>>^v^vvv>^v^>v>>v>v>v>>vv^<><<<<>v^^>vv<^^v>>v<vv<^>>^<>^^v<><vv^<><v><v<<v^v<^^<^v^v<>v<<><vvv><<<^<^^<<>>^v>>>^v>>>v<>>^><<<><><<<v<vv<^<>v^^v^^>^<<^^^v^>^<<^>^>^>>>>v<v<v<>vv<<vv^<<^<vv>^^<^<<>><^v><><>^<v><v^>^v>^<^>^^><v><<^<v^^<<^><><v>v<>>><<^><v<^vvv^<<<>><<>^v^^><vv>vv<>^>^>vv<>v^<^<>vv><<>^<v<vv<^<^<><^vv<<^>>>v<>><<>>>^^^^<<^v>>v<vv>^^>v<v<vv^><<><>>>v>>^^v<^v^^>>v^<>>v^>><^<^^v<v<><<><>>^<>><^v<^^^^><>^>vv>>^vv<<>v<<<<<<><<<><<>><v><^^^<>>v<^><^vvv<>^>^^v>^<v><^v^vv^<<>v<<<<v>^vv>>v>vv<<^>^<>>vvv^<v<><>><>^^^^vvvvvvv<<>v<^><^^>vv^^<v<<^^<vvv<v<v<<>><<><v^^>><^<>^v^vv<<v<v<>><<>>>>>^vv<><v<>v><v>v>><v<v^vvvvv<><>v>>v<><<<^^<>^<^^<v>v^<vv>^vv^<>^<<^<vv><v<v>>v>^<>v^<<v^<v>^v<>><v>>>>^<<^^^v<^<>><^<><v>>vv^>^<^<^>>v^>^^^^>vvvvv>^v<^><^^<^^>^<^^^^^^^>v>>vv>v^^^v^^^<>v><^>>>v>^>^>^>vv<vv<^^>>^>>>v<>v><<^<<v^>^>>>>^^><^^<v<<<<>>v>v^v^^<>><v<^<<<<v^^^^<v<<<^>v>^^<vv<^^^^^v>^v^<v><>>^^>^v>^>^vv^v>v>v^>v>^>>^^^^>>^>>^><>><v>v>>><<^v^v^>^>^>>vv><<^>v<v<v^<<>>^v<<^v<<^><^>>^<v>^>vv>v>^^^>v^^<^<^^>vv>^^><v>>^v>^v<<^^^<<^v^>^<<^>vv^>>^<^v><<>v><^^^<^^>>vv>^vv>><^<<<^>vv^v>v<^<<<^<^<<><^^>>>v^<^^^>^<><^v>>^<<v<^v>>v^<^<^<^^^<v^><<vvv^<^v^vv^vv<v<<v<^<>^v>^^^<^^v<v<v><<<^<>^^^^v>v^v^v^v<v><v>>^v><vv^^^v>><<v^vvvv<<<^v<<><^>^<v^^v<>vvvv^vv<>^v<><>^^<>>vvv<^>><v^<<>v>v<>^v^>v^>><<>>^^<^v<>>^>^><>>^<v<v^^<^v><v^<v<><><^<<><v^v<<>vv<v<v<^>>><>vv^^<><<v<^^<<^<><^^^>^>>>^<^>>>^>><^^^<^v^^^v^v^v>v>v><vv>><vvv<<v><><^^>^v<v>><v><^><^<<>v^vv^v><^vv>^>>v<vv><^<^^v<^^vv<vv<v<v>v><v<vv<<>^^v^^v<<<^<>v^^^<><>>><^>v^^^v^vv<<<^>>v><^>v^<>>>>^<>^^vvv^^<><^>^^<><>^vvv^^<vv^>vv^^^^v<>vv<^^^v<<>><<vvvvv>v>^^^vv>><v><v<>vvvv<v^><^<>^>^<>v>v>v^vvvv<><^v>>>^^>><vvv<>^>^v^<vvv>v^vv^vv><>><>v^^v^vv<^v>vv>>v<v><^<<^v<>>^vv^<v>v><v>v>^v>^<v>^<<^>vv>v<^<^vv^<^><<<v<<^^vv<vvv><>v>v<vv^<><><^vvv>>vv<^^^v><^v><<^>^^v>^<>><v<>>^^<<<v><>^>^><vvvv<>^<<<><<<^<>>v^vv^>><^vv^^>^<v^<v>><^^>>>^v>^v<>^v<><^><vv>v^^^<^>>^<<^<^><<<^^<v<<^vv<^<>v<^<<^^<v<vv<<><v<v^<>^<>v>>v<^v>v<>^^vvv<>vv^v^<><v^vv^<^v^v><>^><v^<>>^^^<>>vv^<v>^^v><v<^>^^^^^^><>>vvv<<><><v<^>v<>v^v<<<<>v^>>>>^v>^^<v^>v><v^<^^v<<<<v<<<>^v<^>^v>v^^>v^^vvv>vv<>^>v><v<>^<vv><>>><<^>>><<v>v^^<^<<<<v^<>>>v<<<^v^vv<>^v>v<<<<>^^>><v><>v<v><^^>><>^>^>v>>><v>^vvvv<><><^>>^v^><<>^v<><><^><<<>v^^>v>^>v^<v^vv<>><^vv^^>^^><vv<<>v>v^^>><v^>^<^<>>>vv<>^>v>v^<>v<^<<v>>>^<>v^>v>>vv^^<>>v<v<<^<>v>v^<^^^>v^^>v>v>vv<^<v>v^^><<<v<><>^^<>v>v>^^v>v>v^v>>^<v^v>><>^^>^<>>>^vv^><v^<^>v^>^v><^>^^^vv^^v<>vv<>>^><<^v>^v^>>v>^v^<<^^^vv<<vvv>^vv^v<<<v^^<<><vv<>>^^vv>^^^vv>><><v>v<^v^>>>vv^><>><v<^v<>^><v<^^^^>><^<>v>^v<^vv>v>v<^<>v>v>^<vv>v<^>vvv<v^<vv<vv<>v>^><v^v<>>>>>v>><^v<>v>^v><v^v^vv<>^<vvv^>><v^<vvv^^<^vvv^v^<>><v>v^^v<><>v^^^v<<<^><v<<<>><<vv<<><vvv^v>>v^v<v^>>><<v<>^v><>vv<<v>v^vv>v^v<^<vv<><><^v>^<vv>v^^>>^^^><vv<><^>>>^<v^<<^^>^>vv^><v<vvv>^^>>>^><<vv>vv>^<>>^^><^v><<>^<<<v^>^ ถัวเฉลี่ย 1408 เปิดไฟ ในการสร้างอินพุตคุณอาจใช้สคริปต์ Python ต่อไปนี้: import random …

14
Stack Exchange Vote Counter
เขียนโปรแกรม / ฟังก์ชั่นที่ส่งคืนจำนวนโหวตของคำตอบสแต็ก Exchange Exchange ของตัวเองในขณะดำเนินการ โปรแกรม / ฟังก์ชั่นของคุณสามารถเข้าถึงหน้านี้ ( codegolf.stackexchange.com/questions/82609 ) จากอินเทอร์เน็ตอย่างไรก็ตาม: โปรแกรม / ฟังก์ชั่นของคุณอาจไม่ยอมรับการป้อนข้อมูลของผู้ใช้และ ไม่อนุญาตให้ใช้ตัวย่อ URL โปรแกรม / ฟังก์ชั่นของคุณอาจใช้เฉพาะแหล่งที่มาของตัวเองเป็นจุดอ้างอิงถึงจำนวนการลงคะแนน (ตัวอย่าง: ไม่มีการอ้างอิงสตริงของข้อความในคำตอบที่มีอยู่ แต่ไม่ได้อยู่ในแหล่งที่มาของตัวเอง) โปรแกรม / ฟังก์ชั่นของคุณจะต้องแสดงผลการลงคะแนนของตัวเองและนับเฉพาะการลงคะแนนของตัวเอง (ตัวอย่างเช่น: ไม่มีการนับการลงคะแนนทั้งหมดกลับมาที่หน้านี้) นี่คือรหัส - กอล์ฟรหัสที่สั้นที่สุดชนะ

30
รายชื่อปีเกิดที่เป็นไปได้ของมนุษย์ที่มีชีวิต
ความท้าทาย แสดงรายการปีที่เริ่มต้นด้วยปีปัจจุบันและสิ้นสุดเมื่อ 120 ปีที่แล้ว ปีเกิดของมนุษย์ที่มีชีวิตทุกคนจะถูกรวมอยู่ในรายการนี้ รายละเอียด รายการควรอยู่ในลำดับถัดลงมา อนุญาตให้ใช้ฟังก์ชันในตัวเพื่อจัดการอาร์เรย์และ / หรือรายการทั้งหมดได้ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ เมื่อรันในปีนี้ผลผลิตจะเป็น 2016, 2015, ..., 1897, 1896 เมื่อรันในปีหน้าผลผลิตจะเป็น 2017, 2016, ..., 1898, 1897 เป็นต้น ปรับปรุง บางคนถามเกี่ยวกับรูปแบบของรายการ ตามที่เดาได้ส่วนใหญ่มันไม่สำคัญ แทรกตัวคั่นใด ๆ ระหว่างตัวเลข ใส่เครื่องหมายจุลภาคหรือช่องว่างหรือทั้งคู่ขึ้นบรรทัดใหม่หรือส่งออกอาร์เรย์ได้โดยสัญชาตญาณ ผู้อาวุโสเสมือนเช่นJeanne Calmentเป็นข้อยกเว้นของกฎที่ระบุไว้ในคำถามของฉัน

30
พิมพ์พวงของตัวเลขที่ไม่น่าสนใจ!
จำนวนจืด (ซึ่งผมโดยสิ้นเชิงไม่ได้ทำขึ้นเพียงสำหรับความท้าทายนี้) จะถูกสร้างขึ้นเช่นนี้ รับจำนวนเต็มบวก N สร้างหมายเลขใหม่ O โดยเพิ่มตัวเลขของ N ที่ส่วนท้ายของ N หมายเลขที่ไม่น่าสนใจสุดท้ายคือ O * N ตัวอย่างเช่นสำหรับ N = 12: O = 1212 O * N = 1212 * 12 หมายเลขสุดท้ายคือ 14544 อินพุต จำนวนเต็มบวก N (N> 0) หรือเทียบเท่าภาษาของคุณ คุณไม่จำเป็นต้องรับอินพุตที่ไม่ถูกต้อง เอาท์พุต หมายเลขที่ไม่น่าสนใจที่สอดคล้องกัน กรณีทดสอบ 1 -> 11 2 -> 44 3 -> 99 …

17
แมวไป Meow วัวไปหมู่
ทุกคนรู้ว่าแมวเป็นแมว แต่สิ่งที่คนส่วนมากไม่รู้ก็คือ caaaats ไป meeeeoooow ในความเป็นจริงความยาวของเสียงสระเสียงที่แมวทำขึ้นอยู่กับความยาวของเสียงสระที่คุณพูดถึง ในทำนองเดียวกันวัวไปมู่ แต่โคooowsไปมู่ ท้าทาย คุณต้องเขียนโปรแกรมที่ใช้เป็นอินพุตคำหมายถึง cat และคำที่มีความหมายกับวัวกำหนดจำนวนของสระหลักและพิมพ์หนึ่งในสตริงต่อไปนี้ตามความเหมาะสม: C[]ts go M[]w C[]ws go M[] ซึ่ง[]ย่อมาจากสระตามกฎต่อไปนี้: จำนวนของ e และ o ใน "Meow" ต้องตรงกับจำนวนของสระที่พบในคำที่ป้อน จำนวนของ o ใน "หมู่" จะต้องเป็นสองเท่าของจำนวนเสียงสระที่พบในคำที่ป้อน โปรแกรมจะต้องรับรู้คำศัพท์การป้อนข้อมูลและcat cowอินพุตอาจใช้ตัวพิมพ์ใหญ่ใด ๆ ที่สะดวกที่สุด แต่ผลลัพธ์จะต้องเป็นตัวพิมพ์ใหญ่ตามที่แสดงข้างต้น
40 code-golf  string 

21
ระยะทาง Levenshtein
ในขณะที่มีคำถามระยะทางแก้ไขมากมายเช่นคำถามนี้ไม่มีคำถามง่าย ๆ ในการเขียนโปรแกรมที่คำนวณระยะทางของ Levenshtein นิทรรศการบางอย่าง ระยะทางแก้ไขของ Levenshtein ระหว่างสองสายคือจำนวนที่น้อยที่สุดที่เป็นไปได้ของการแทรกการลบหรือการแทนที่เพื่อแปลงหนึ่งคำเป็นคำอื่น ในกรณีนี้การแทรกการลบและการแทนที่แต่ละรายการมีค่า 1 ตัวอย่างเช่นระยะห่างระหว่างrollและrollingคือ 3 เนื่องจากการลบมีค่าใช้จ่าย 1 และเราต้องลบ 3 ตัวอักษร ระยะห่างระหว่างtollและtallคือ 1 เนื่องจากการทดแทนมีค่าใช้จ่าย 1 กฎระเบียบ อินพุตจะเป็นสองสตริง คุณอาจสันนิษฐานว่าสตริงเป็นตัวพิมพ์เล็กประกอบด้วยตัวอักษรเท่านั้นไม่ว่างเปล่าและมีความยาวสูงสุด 100 อักขระ เอาต์พุตจะเป็นระยะทางแก้ไขขั้นต่ำของ Levenshtein ของทั้งสองสายดังที่กำหนดไว้ข้างต้น รหัสของคุณต้องเป็นโปรแกรมหรือฟังก์ชั่น มันไม่จำเป็นต้องเป็นฟังก์ชั่นที่มีชื่อ แต่มันไม่สามารถเป็นฟังก์ชั่นในตัวที่คำนวณระยะทาง Levenshtein ได้โดยตรง บิวด์อินอื่น ๆ ได้รับอนุญาต นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดชนะ ตัวอย่างบางส่วน >>> lev("atoll", "bowl") 3 >>> lev("tar", "tarp") 1 >>> lev("turing", "tarpit") …
40 code-golf  string 

30
ตัวหารร่วมมาก
งานของคุณคือการคำนวณตัวหารร่วมมาก (GCD) ที่ยิ่งใหญ่ที่สุดของจำนวนเต็มสองจำนวนที่ได้รับในโค้ดน้อยที่สุดเท่าที่จะเป็นไปได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นรับอินพุตและส่งคืนเอาต์พุตผ่านวิธีมาตรฐานที่ยอมรับของเรา (รวมถึง STDIN / STDOUT, พารามิเตอร์ฟังก์ชัน / ค่าส่งคืน, อาร์กิวเมนต์บรรทัดคำสั่ง ฯลฯ ) อินพุตจะเป็นจำนวนเต็มสองจำนวนที่ไม่เป็นลบ คุณควรจะสามารถจัดการกับช่วงเต็มได้รับการสนับสนุนโดยประเภทจำนวนเต็มเริ่มต้นของภาษาของคุณหรือช่วง[0,255]ใดก็ตามที่มากกว่า คุณรับประกันได้ว่าอย่างน้อยหนึ่งอินพุตจะไม่ใช่ศูนย์ คุณไม่ได้รับอนุญาตให้ใช้บิวด์อินที่คำนวณ GCD หรือ LCM (ตัวคูณร่วมน้อย) ใช้กฎมาตรฐานของกอล์ฟ กรณีทดสอบ 0 2 => 2 6 0 => 6 30 42 => 6 15 14 => 1 7 7 => 7 69 25 => 1 21 12 …

8
หน่วยเวลา Qeng Ho
ในหนังสือที่ยอดเยี่ยมและน่าหลงใหลของDeepor in the Skyของ Vernor Vinge (ซึ่งฉันขอแนะนำอย่างยิ่ง1 ), Qeng Hoซึ่งเป็นวัฒนธรรมที่ครอบคลุมระบบดาวต่าง ๆ ไม่มีแนวคิดเรื่อง "วัน" "เดือน" ปี "ฯลฯ และด้วยเหตุนี้จึงมีระบบบอกเวลาที่เป็นเอกลักษณ์ที่วัดเวลาทั้งหมดในไม่กี่วินาที หน่วยที่ใช้บ่อยที่สุดคือKsec (kilosecond), Msec (megasecond) และGsec (gigasecond) นี่คือแผนภูมิที่มีประโยชน์จากสำเนาหนังสือของฉันเอง (เนื่องจากฉันไม่สามารถหาได้ออนไลน์): คุณกำลังบินอยู่บนPham Nuwenและคุณเพิ่งได้รับข้อความจากดาวเคราะห์แปลกประหลาดที่ไม่รู้จักที่เรียกว่า " โลก " 2พวกเขาใช้หน่วยเวลาที่แตกต่างจากที่คุณทำและคอมพิวเตอร์ของคุณไม่รู้จักหน่วยเวลา ในฐานะโปรแกรมเมอร์ประจำถิ่นของเรืองานของคุณคือแก้ไขรหัสการจัดการเวลาเพื่อให้สามารถจดจำหน่วยเวลาของโลกได้ โดยธรรมชาติเนื่องจากคุณเพิ่งจะเป็นหวัดสำหรับ Ksecs อีกสองสามตัวคุณต้องการทำให้โค้ดของคุณสั้นที่สุดเท่าที่จะเป็นไปได้เพื่อให้สามารถเขียนได้อย่างรวดเร็ว โชคดีในฐานะที่เป็นวัฒนธรรมการค้าระหว่างดวงดาว Qeng Ho สามารถเข้าถึงภาษาการเขียนโปรแกรมทุกภาษาที่คิดค้นขึ้น อินพุต การป้อนข้อมูลจะเป็นสายเดียวที่มีหนึ่งหรือมากกว่าหนึ่งพื้นที่แยก ส่วนประกอบ องค์ประกอบที่ถูกกำหนดให้เป็นเลขจำนวนเต็ม> 0 และ≤ 255 แล้วพื้นที่และจากนั้นหนึ่งsecond, minute, hour, day, …
40 code-golf 

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