คำถามติดแท็ก string

การแข่งขันเพื่อแก้ปัญหาเฉพาะผ่านการใช้งานและการจัดการของสตริง

1
ใหญ่กว่า, ดีกว่า (แตก) ซิป
(ได้รับแรงบันดาลใจจากความท้าทายนี้ ) ในความท้าทายเริ่มแรกคุณต้องทำซิปแนวนอนอย่างไรก็ตามเมื่อมองลงไปที่ hoodie ของฉันซิปของฉันก็จะแนวตั้งมากขึ้น (และหักนิดหน่อย): P อินพุต คุณจะได้รับสตริงเดียว ( s) และคู่ของจำนวนเต็ม ( aและb) ในรูปแบบใด ๆ ที่ไหน: a < (length-of-s / 2) b <= ((length-of-s / 2) - (a + 1)) / 6 ผลผลิตและเกณฑ์การให้คะแนน โปรแกรมของคุณอาจเป็นโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่สร้างสตริงเดี่ยวที่มีการจัดรูปแบบที่ถูกต้องหรืออาร์เรย์ (หนึ่งรายการต่อบรรทัด) ที่คุณเลือก ช่องว่างนำหน้าและต่อท้ายและบรรทัดใหม่เป็นตัวเลือกตราบใดที่อักขระของเอาต์พุตทั้งหมดเข้าแถว เช่น. ["f r"],["u e"],["l p"],["l p"],["y i"],[" o z "],[" p n …

5
แผนที่เกม ASCII 2D
ปัญหา รับอินพุตaโดยที่ a คือกริดของอักขระในรูปแบบอินพุตใด ๆ ตราบใดที่มีองค์ประกอบเดียวสำหรับ 'บล็อก' ของเอาต์พุตแต่ละรายการ และใส่bที่ B aคือตารางของตัวเลขที่มีขนาดเดียวกับการป้อนข้อมูล ถนนมีสองประเภทคือ 1 หมายถึงถนนหินที่มีเครื่องหมายกำกับไว้@และ 2 หมายถึงถนนลูกรังที่มีเครื่องหมาย# @ถนนเป็นศูนย์กลางในการป้องกันและคือขนาด 6x6 ถ้าเป็นถนนที่อยู่ติดกันด้านที่จะขยายไปยังชายแดนเซลล์ตาราง #ถนนเป็นศูนย์กลางในการป้องกันคือขนาด 4x4 ถ้าเป็นถนนที่อยู่ติดกันด้านที่จะขยายไปยังชายแดนเซลล์ตาราง เอาท์พุทกริดออฟเซ็ตตามหมายเลขบรรทัด 8x8 ของอักขระ ASCII ในอินพุตaและวางซ้อน 'ถนน' จากอินพุตbเช่น อินพุต a=[[a,b,a],[b,a,b],[a,b,a]] b=[[1,1,1],[2,0,1],[2,0,0]] เอาท์พุท: ขั้นตอนที่ 1: กริด (การแสดงอินพุต 8x8 a) aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb …

2
Word Chain โหลดซ้ำ
นี่คือตัวแปรของPlay the word chainและการสร้างเชนของคำที่ยาว ข้อมูลที่ป้อนเป็นรายการที่ไม่ว่างของคำที่ไม่ซ้ำอย่างน้อย 2 ตัวอักษรที่ทำจากอักขระใน [az] คุณต้องแสดงความยาวของสายโซ่ที่ยาวที่สุดเท่าที่จะเป็นไปได้โดยที่แต่ละคำที่ตามมาเริ่มต้นด้วยตัวอักษรสุดท้ายของคำก่อนหน้า คุณสามารถเริ่มต้นด้วยคำใด ๆ ในรายการ การบิดอีกอย่างหนึ่งคือคุณได้รับอนุญาตให้ทำซ้ำคำใด ๆ ในรายการ อย่างไรก็ตามคุณไม่สามารถทำซ้ำบล็อกสองคำใด ๆ ตัวอย่างเช่น cat->tac->catได้รับอนุญาต แต่cat->tac->cat->tacไม่ใช่เพราะคุณทำซ้ำบล็อกสองคำ ( cat->tac) นอกจากนี้คุณไม่สามารถใช้คำเดียวกันสองครั้งในแถว (เช่นeye->eye) ตัวอย่าง: cat dog tree egg => 3 (cat-> tree-> egg) new men ten whim => 5 (ten-> new-> whim-> men-> new) truth fret heart his => …

6
การพิมพ์กากบาดของสองสาย
รับชุดของสองสายรับประกันเป็นระยะเวลาเดียวกันให้พิมพ์ของพวกเขาข้ามกาก ข้ามกากของสองสายจะได้รับดังต่อไปนี้ ให้อักขระตัวที่สองของสตริงที่สองจากนั้นอักขระตัวแรกของสตริงแรก ให้ผลอักขระแรกของสตริงที่สองจากนั้นอักขระที่สองของสตริงแรก ละทิ้งอักขระตัวแรกของแต่ละสตริง หากสตริงมีอักขระมากกว่าหนึ่งตัวให้กลับไปที่ขั้นตอนที่ 1 ตัวอย่างเช่นถ้าทั้งสองสายเป็น Truck Tower ข้ามกากคือ oTTrwroueuwcrcek ดังแสดงในแผนภาพต่อไปนี้ แต่ละสีแสดงถึงการวนซ้ำที่แตกต่างกัน ตัวเลขแสดงดัชนีของตัวละครที่เกี่ยวข้องในการส่งออก

8
คุณชอบเทควันโดไหม?
Choi Hong Hiเสียชีวิตในวันที่ 15 มิถุนายน 2002 ในวัย 83 เกียรติเขาก่อตั้งเทควันโด 15 ปีหลังจากการตายของเขาฉันอยากเป็นอาจารย์เทควันโด นี่เป็นเวลาของฉันที่จะเปล่งประกาย! งาน รับสตริงคุณควรส่งออกเวอร์ชันเทควันโด กฎระเบียบ คุณจะได้รับสตริง / ประโยคที่ไม่ว่างเปล่าโดยอินพุตที่ถูกต้องใด ๆ คุณต้องแทนที่แต่ละชื่อเรื่อง (ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) โดยเทียบเท่าการแปลแบบโรมัน คุณต้องเพิ่ม, *side kick*ตอนท้ายของประโยคเพราะฉันชอบที่จะเตะด้านข้าง คุณต้องแสดงผลประโยคที่เปลี่ยนแปลงนี้เป็นสตริง นี่คือ รหัสกอล์ฟ คุณควรตั้งเป้าหมายที่จะลดจำนวนคำตอบให้เหลือน้อยที่สุด ตัวอย่าง "I am a Student and I do Taekwondo twice a week" => "I am a Geup and I do Taekwondo …

6
การบีบตาบิต
การมองหาค่าไบนารีที่พิมพ์เป็นวงรีและแท่งไม่ใช่เรื่องง่าย ... เพื่อช่วยในการนั้นคุณต้องเขียนฟังก์ชั่น (หรือโปรแกรม) ที่พิมพ์ตัวเลขในรูปแบบไบนารีที่กำหนดเอง ดังนั้นฉันต้องการใช้ตัวเลขพูด 3 ( 00000011) และเอาท์พุทบิตในรูปแบบที่ผู้ใช้กำหนดเช่นกับคู่ที่คั่นด้วยช่องว่าง: 00 00 00 11 หรือพูดในลำดับที่กลับกันและมีผู้ตกแต่งบางอย่างเช่น: 11_00_00_00 นอกจากนี้จะต้องมีความเป็นไปได้ที่จะแสดง '0' และ '1' เป็นอักขระที่กำหนดเองเพื่อแยกความแตกต่างได้ดีขึ้นเช่น: XX oo oo oo ดังนั้นความท้าทายคือการเขียนโค้ดที่ทำทุกอย่างตามข้อกำหนดต่อไปนี้ สเปค ฟังก์ชั่นรับอินพุตดังนี้: f (A, mask, ศูนย์, อัน) พารามิเตอร์: เอ - จำนวนอินพุต - จำนวนเต็มใด ๆ (ไม่ได้ลงนาม) ในช่วง 0-255 mask - พารามิเตอร์สตริงที่กำหนดการสร้างเอาต์พุต ศูนย์ - สตริงที่มีความยาวเท่ากันกำหนด glyphs …

13
สร้างสีแดงและดำของคุณเอง
ในการแสดงละครเพลงของ Les Miserables เพลงที่เรียกว่า "สีแดงและดำ" นี่คือส่วนหนึ่งของเพลงนั้น: แดง - เลือดของคนโกรธ! ดำ - ความมืดในอดีต! แดง - โลกกำลังจะรุ่งเช้า! ดำ - คืนที่สิ้นสุดในที่สุด! แหล่ง งานของคุณคือเปลี่ยนอินพุตให้เป็นเพลง "แดงและดำ" ดังก้อง อินพุต ข้อความถูกคั่นด้วยการขึ้นบรรทัดใหม่หรือการป้อนข้อความที่เหมาะสมคล้ายกัน ตัวอย่างเช่น, The blood of angry men! The dark of ages past! A world about to dawn! The night that ends at last! อินพุตว่างไม่ได้ถูกกำหนด (อยู่นอกขอบเขต) เอาท์พุต หากความยาว …

4
การจัดรูปแบบตามลำดับของ Alice
บทนำ อลิซเป็น 2-D ภาษาโดยมาร์ตินเอนเดอร์ซึ่งมีสองโหมดการดำเนินการที่แตกต่างกัน, พระคาร์ดินัลและลำดับ เมื่อตัวชี้คำแนะนำส่งผ่านมิรเรอร์ (อย่างใดอย่างหนึ่ง/หรือ\) มันจะสลับจากโหมดหนึ่งไปอีกโหมดหนึ่ง ในการท้าทายนี้เราจะมุ่งเน้นไปที่โหมดเลขลำดับซึ่งคำสั่งทำงานกับสตริงและตัวชี้คำสั่งเคลื่อนที่ในแนวทแยงมุมกระดอนกับขอบของรหัส โปรแกรมอย่างง่ายที่ใช้งานได้เฉพาะในโหมดเลขลำดับสามารถเขียนในสไตล์ที่ค่อนข้างกะทัดรัดได้ดังตัวอย่างต่อไปนี้: /fbd/ @aec\ ที่นี่ IP เริ่มต้นในโหมดที่สำคัญจากเซลล์แรกไปทางทิศตะวันออกผ่านมิรเรอร์แรกและเริ่มเคลื่อนที่ในแนวทแยงมุมและกระดอนโดยเรียกใช้คำสั่ง a , และb cจากนั้นก็พบกระจกภาคตะวันออกเฉียงเหนือซึ่งจะทำให้มันไปทางทิศใต้กระจกอื่น ๆ และจากนั้นเริ่มใหญ่กลับไปทางทิศตะวันตกคำสั่งเผชิญหน้าd, e, fและในที่สุด@ซึ่งสิ้นสุดโปรแกรม โครงสร้างแบบนี้ค่อนข้างเล็ก แต่ไม่ง่ายในการเขียนและบำรุงรักษา (การเพิ่มคำสั่งเดียวอาจบังคับให้เราเรียงลำดับโค้ดส่วนใหญ่!) ดังนั้นฉันต้องการให้คุณช่วยฉันจัดรูปแบบ งาน กำหนดลำดับของคำสั่งโดยที่แต่ละคำสั่งเป็นอักขระ ASCII เดียวที่พิมพ์ได้ให้เรียงลำดับใหม่ในสองบรรทัดเพื่อให้ครึ่งแรกของลำดับสามารถอ่านได้โดยเริ่มจากอักขระตัวแรกของบรรทัดที่สองจากนั้นเลื่อนแนวทแยงมุมไปทางขวาเสมอ ในขณะที่ครึ่งหลังสามารถอ่านตัวอักษรที่เหลือจากขวาไปซ้าย ไม่ต้องกังวลกับกระจกเงาและสัญลักษณ์บอกเลิกฉันจะเพิ่มมันเอง ตัวอย่างเช่นอินพุตที่กำหนด abcdefคุณควรส่งออก fbd aec ในกรณีที่การป้อนข้อมูลมีความยาวคี่คุณควรเพิ่มช่องว่างเดียว (ซึ่งเป็น noop ในอลิซ) ที่ใดก็ได้ตราบใดที่ลำดับของคำสั่งที่พบยังคงเหมือนเดิม นอกจากนี้คุณยังสามารถเลือกที่จะเอาท์พุทสองบรรทัดที่มีความยาวต่างกันโดยหนึ่งตัวอักษรในกรณีนี้อันที่สั้นกว่านั้นจะถือเป็นช่องว่างเดียวที่ส่วนท้าย กฎระเบียบ นี่คือ รหัสกอล์ฟคำตอบที่สั้นที่สุดเป็นไบต์ชนะ! คุณสามารถอินพุต / เอาต์พุตผ่านวิธีการอินพุต / …

10
การหมุนสมมาตรของสตริง
หมุนเวียน"จะทำโดยการแยกสตริงเป็นสองชิ้นและการย้อนกลับสั่งของพวกเขา" วัตถุมีความสมมาตรภายใต้การดำเนินการหากวัตถุไม่เปลี่ยนแปลงหลังจากใช้การดำเนินการดังกล่าว ดังนั้น "สมมาตรการหมุน" คือความจริงที่ว่าสตริงยังคงไม่เปลี่ยนแปลงหลังจาก "การหมุน" รับสตริงที่ไม่ว่างsซึ่งประกอบด้วยตัวอักษรจากaถึงzเท่านั้นส่งออกลำดับสูงสุดของการหมุนสมมาตรของสตริง Testcases: input output a 1 abcd 1 abab 2 dfdfdfdfdfdf 6 นี่คือ รหัสกอล์ฟ. คำตอบที่สั้นที่สุดในการชนะไบต์ ช่องโหว่มาตรฐานใช้

11
สร้างชุดค่าผสมของกลุ่มตัวแปรได้สูงสุดถึงลำดับ n
SPECIFICATION ได้รับตัวแปรสร้างทุกชุดถึงการสั่งซื้อm nตัวอย่างเช่น, ผลลัพธ์ของการแมปสองตัวแปร ( aและb) ในการสั่งซื้อ1จะเป็น: a ข AB ผลลัพธ์ของการแมปสองตัวแปร ( aและb) ในการสั่งซื้อ2จะเป็น: a a 2 ข ข2 AB 2ข ab 2 a 2 b 2 ผลลัพธ์ของการแมปสองตัวแปร ( aและb) ในการสั่งซื้อ3จะเป็น: a a 2 3 ข ข2 ข3 AB 2ข 3ข 3ข2 ab 2 ab 3 2ข3 a 2 b …

4
เท่ากับชนิดวงเล็บเหลี่ยม
บนพื้นฐาน นี้คำถาม กำหนดสตริงแทนที่แต่ละวงเล็บ()[]{}<>ด้วยวงเล็บของประเภทที่เหมาะสมเพื่อให้วงเล็บจับคู่และรอบซ้อนกันวงเล็บดังนี้ สิ่งที่อยู่นอกสุดคือ () ()ควรจะอยู่ข้างในโดยตรง[] []ควรจะอยู่ข้างในโดยตรง{} {}ควรจะอยู่ข้างในโดยตรง<> ด้านในตรงจาก<>จะเป็น()อีกครั้ง (รอบ) ตัวอักษรที่ไม่ใช่วงเล็บทั้งหมดจะต้องคงอยู่เหมือนเดิม วงเล็บเปิดอาจถูกแทนที่ด้วยวงเล็บเปิดบางชนิดเท่านั้นและปิดวงเล็บด้วยวงเล็บปิด อินพุตจะทำให้เป็นไปได้เสมอ นี่หมายความว่าวงเล็บนั้นจับคู่อย่างถูกต้องหากไม่ระบุประเภท ดังนั้น{ab<)c]เป็นอินพุตที่ถูกต้อง แต่มีab)(cdหรือab((cdไม่ ตัวอย่าง: 2#jd {¤>. = 2#jd (¤). abcdef = abcdef (3×5+(4-1)) = (3×5+[4-1]) <<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}]) ไม่อนุญาตให้ใช้การแปลงดั้งเดิมของอินพุตด้วยวิธีนี้ (ไวยากรณ์ภาษาอัตโนมัติ) เช่นเคย: รหัสที่สั้นที่สุดชนะ

2
โปรแกรมรวบรวมข้อมูล 2D Dungeon
โปรแกรมของคุณต้องใช้สตริงที่มีหลายแถวเช่นนี้ ############# # # # p # # # ############# pเป็นผู้เล่นและ#เป็นบล็อก ตอนนี้ภายใต้ที่ใน terminal ควรเป็นสายอินพุตพูดว่า: How do you want to move? หากผู้เล่นประเภทที่lเขาต้องเดินออกไปเมื่อไม่มีบล็อกอื่น ๆ เมื่อมีบล็อกเขาไม่สามารถผ่านและไม่ย้ายแน่นอนตอนนี้เอาท์พุทใน terminal จะต้องมีการปรับปรุง ( และเอาต์พุตก่อนหน้าจะถูกล้าง / เขียนทับ): ############# # # # p # # # ############# เขาสามารถพิมพ์lซ้ายซ้ายrขวาuขึ้นและdลง อินพุตจะเป็นแบบหลายบรรทัดเสมอ แต่จะไม่ถูกเติมด้วยช่องว่างในสี่เหลี่ยมที่สมบูรณ์แบบเสมอ นอกจากนี้แฮชสามารถอยู่ที่ใดก็ได้ในสตริงและจะไม่เชื่อมต่อกันเสมอ ตัวอย่างเช่น: ## ## # # ## p # …

6
พิมพ์แองเจิลร้องเพลง
รักษารูปแบบเทศกาลพิมพ์ทูตสวรรค์ร้องเพลงแครอลด้วยรหัสที่สั้นที่สุด ทูตสวรรค์กำลังหาเงินบริจาคให้คนไร้บ้านดังนั้นจะต้องสามารถร้องเพลงทั้งสามเพลงด้านล่างได้ตามคำขอ เพื่อแสดงให้เห็นว่าเธอสามารถร้องเพลงได้พวกเขาจะต้องวางชื่อเพลงไว้ในกรอบคำพูด ชื่อเพลงนี้จะถูกป้อนโดยผู้ใช้ ตัวอย่างรวมถึง: แม่แมรี่ ระฆังกริ๊ง คืนเงียบ การป้อนข้อมูล: หัวข้อ: 1 จาก 3 เพลง เอาท์พุท: ____________ (\ ___ /) / \ ( \ (‘o‘) / ) / \ ( ) < ( ‘> <’ ) \ / / \ \____________/ / \ ‘ – “ - ‘ โปรดวางผลลัพธ์ของนางฟ้าแห่งการร้องเพลงของคุณพร้อมกับเพลง: "Silent Night" …

11
ช่องสี่เหลี่ยมทั้งหมดที่ตรงกับลำดับสัญลักษณ์แทน [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา สิ่งนี้ได้รับแรงบันดาลใจจากส่วนหนึ่งของปัญหาการแข่งขัน ARML ประจำปี 2559 นี่คือความท้าทาย: คุณได้รับ "ลำดับตัวแทน" ซึ่งเป็นลำดับตัวเลขและตัวละครอื่น สตริงตรงกับลำดับ wildcard นี้โดย pseudocode ต่อไปนี้: w = wildcard s = string # s matches w iff for all 0 >= i > wildcard.length, w[i] == '?' or s[i] == w[i] ที่ไหน '?' เป็นตัวละครที่คุณเลือก ในแง่ของการ regex …

2
แปลง pointfree เป็น pointful
ในฐานะที่เป็นแฮ็กเกอร์ Haskell ฉันชอบสัญกรณ์ pointfree มากกว่าประเด็น น่าเสียดายที่บางคนพบว่าโน้ตที่ไม่มีจุดอ่านยากที่จะอ่านและฉันพบว่ามันยากที่จะรับวงเล็บที่ถูกต้องเมื่อฉันเขียนแบบไม่มีจุดหมาย ช่วยฉันแปลงโค้ดที่เขียนด้วย pointfree เป็นเครื่องหมายที่ไม่มีจุดหมาย! เกี่ยวกับ ในสัญกรณ์ pointfree เราใช้ points (ใช่จริง ๆ ) เพื่อป้อนข้อมูลผลลัพธ์ของฟังก์ชันหนึ่งไปยังอีกฟังก์ชัน พูดว่าถ้าคุณมีฟังก์ชั่นsuccที่ใช้ตัวเลขและบวก 1 กับมันและคุณต้องการสร้างฟังก์ชันที่บวก 3 เข้ากับตัวเลขแทนที่จะทำสิ่งนี้: \x -> succ(succ(succ(x))) คุณสามารถทำสิ่งนี้: succ.succ.succ Pointfree ใช้งานได้กับฟังก์ชั่นที่ใช้พารามิเตอร์เดียวเท่านั้น (ในความท้าทายนี้ต่อไป) ดังนั้นหากฟังก์ชั่นของเราไม่ได้เป็นsuccแต่addใช้หมายเลข 2 และรวมเข้าด้วยกันเราจะต้องป้อนมันอาร์กิวเมนต์จนกว่าจะเหลือเพียงหนึ่ง: pointful: \x -> add 1(add 1(add 1 x)) pointfree: add 1 . add 1 . add …

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