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

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

30
เขียนโปรแกรมเพื่อยืดหยุ่นสตริง
คำกริยาที่ดีในชื่อ เขียนโปรแกรมที่ได้รับสายป้อนข้อมูลจะ "ยืดหยุ่น" สายนี้และส่งออกผลลัพธ์ การทำให้สตริงยืดหยุ่นนั้นทำได้ดังนี้: อักขระตัวแรกจะปรากฏขึ้นหนึ่งครั้ง อักขระตัวที่สองแสดงขึ้นสองครั้ง อักขระที่สามแสดงขึ้นสามครั้งและต่อไปเรื่อย ๆ อย่างที่คุณเห็นจำนวนการทำซ้ำของตัวละครบางตัวนั้นเกี่ยวข้องกับดัชนีของตัวละครซึ่งตรงข้ามกับที่เกิดขึ้นก่อนหน้าในสตริง คุณสามารถคาดหวังว่าจะได้รับเฉพาะอักขระ ASCII ที่พิมพ์ได้ จากลิงค์ต่อไปนี้อักขระเหล่านี้มีค่าทศนิยม 32-126 ตัวอย่าง: Why: Whhyyy SKype: SKKyyyppppeeeee LobbY: LoobbbbbbbYYYYY (โปรดสังเกตว่ามี 7 b อย่างไรตั้งแต่ b แรกแสดง 3 ครั้งและ b ที่สองแสดง 4 ครั้งทำให้รวม 7 b) A and B: A aaannnnddddd BBBBBBB ไบต์ที่สั้นที่สุดชนะ :)
33 code-golf  string 

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

30
นี่มันพูดไม่ได้เหรอ?
แรงบันดาลใจจากมันเป็นสองเท่าพูด? ฉันคิดว่าความท้าทายที่หนักกว่า ได้รับสตริงตรวจสอบว่าสตริงคือn พูด , สำหรับการใด ๆn ≥ 2n≥2n\geq 2 2 N-speak ถูกกำหนดโดยการทำซ้ำแต่ละตัวอักษรnnnครั้ง ด้วยn = 4n=4n = 4 , สตริงจะถูกเปลี่ยนไปHello HHHHeeeellllllllooooเป้าหมายของคุณคือการพิจารณาว่าอินพุตเป็นเอาต์พุตที่ถูกต้องสำหรับการแปลง n-speak ใด ๆ ควรสังเกตว่าประโยคใด ๆ ที่ถูกต้อง n-speak สำหรับn = 2 kn=2kn = 2kก็เป็น k-speak ที่ใช้ได้เช่นกัน ดังนั้นในส่วนที่ยากที่จะแก้จะเป็นค่าคี่nnnn อินพุต สตริงที่ประกอบด้วยอักขระอย่างน้อย 2 ตัว อินพุตอาจเป็นรายการของอักขระ การป้อนข้อมูลเป็นกรณี ๆ ไป เอาท์พุต Truthyถ้าสตริงเป็น n-speak falseyมิฉะนั้น ตัวอย่าง …

11
ใครจะเป็นผู้ชนะการเลือกตั้ง?
นี่เป็นความท้าทายที่คนสองคนคือ 1 และ 2 กำลังทำงานอยู่ที่สำนักงาน ผู้คนลงคะแนนอย่างไม่แน่นอนในบางวิธีในโลกที่ 1 และ 2 ซึ่งจะช่วยให้ผู้สมัครสามารถหาผลลัพธ์ก่อนการเลือกตั้ง หมายเหตุ: สิ่งนี้ไม่ได้หมายถึงการอ้างถึงการเลือกตั้งภายนอกหรือเหตุการณ์ทางการเมืองอื่น ๆ คนสองคนกำลังทำงานที่สำนักงาน เราจะเรียกคนเหล่านี้ที่ 1 และ 2 เพราะพวกเขาทั้งคู่ต้องการทราบว่าพวกเขาจะชนะการเลือกตั้งหรือไม่พวกเขาตัดสินใจที่จะใช้ความรู้ของผู้คนและรหัสบางอย่างเพื่อหาว่าผลลัพธ์จะเป็นอย่างไร เนื่องจากต้องการลดการใช้จ่ายของภาครัฐรหัสจึงต้องสั้นที่สุด งานของคุณ:รับจำนวนคนตามวิธีการลงคะแนนเอาท์พุทผู้ชนะเลือกตั้ง มีคนห้าชนิดในโลกที่สนุกสนานและน่าตื่นเต้นของ 1 และ 2: A: ผู้ที่จะลงคะแนนให้ 1 B: คนที่จะลงคะแนนให้ 2 อย่างแน่นอน X: ผู้ที่จะลงคะแนนให้ใครก็ตามที่อยู่ทางซ้ายมือจะลงคะแนนให้ หากไม่มีบุคคลทางซ้ายของพวกเขาพวกเขาลงคะแนนให้กับใครก็ตามที่บุคคลที่อยู่ด้านขวาจะลงคะแนนให้ หากยังไม่ชัดเจนว่าใครเป็นผู้มีสิทธิ์ลงคะแนนเสียงเลือกตั้งพวกเขาจะไม่ลงคะแนน Y: ผู้คนจะลงคะแนนให้ตรงกันข้ามกับคนที่อยู่ทางซ้าย หากไม่มีใครอยู่ทางซ้ายของพวกเขาพวกเขาลงคะแนนตรงกันข้ามกับใครก็ตามที่อยู่ทางขวาของพวกเขา หากยังไม่ชัดเจนว่าใครเป็นผู้มีสิทธิ์ลงคะแนนเสียงเลือกตั้งพวกเขาจะไม่ลงคะแนน N: คนที่ไม่ลงคะแนน นี่คือการประเมินจากซ้ายไปขวา ตัวอย่าง: ใครก็ตามที่ถูก "ประเมิน" เป็นตัวพิมพ์เล็กเพื่อความชัดเจน Input: `XXAYAN` xX …

12
Pleasanortmanteaus
กระเป๋าหิ้วคำคือการรวมกันของทั้งสองคำที่ใช้เวลาส่วนหนึ่งของแต่ละคำและทำให้พวกเขากลายเป็นคำใหม่เดียว ยกตัวอย่างเช่นสิงโต + เสือ => Liger ลองเขียนโปรแกรมเพื่อสร้าง portmanteaus จากคำที่ใส่เข้าไป คอมพิวเตอร์ไม่ใช่ภาษาอังกฤษที่ดีที่สุดดังนั้นเราจะต้องสร้างกฎบางอย่างเพื่อให้แน่ใจว่าพอร์ทอุปกรณ์ส่งออกมีความพึงพอใจต่อตาและหู (ตัวอย่างที่นี่จะแสดงด้วยตัวคั่นระหว่างคำนำหน้าและคำต่อท้ายเพื่อความชัดเจน: li|ger. อย่างไรก็ตามผลลัพธ์ที่แท้จริงของโปรแกรมไม่ควรมีตัวคั่น: liger.) แต่ละกระเป๋าหิ้วจะประกอบด้วยคำนำหน้าว่างของคำแรกตัดแบ่งไปว่างต่อท้ายของคำที่สอง: ใช่li|ger, |igerไม่มี หากคำนำหน้าลงท้ายด้วยสระคำต่อท้ายจะต้องเริ่มต้นด้วยพยัญชนะและในทางกลับกัน: ใช่lio|gerหรือl|erไม่lio|igerหรือl|gerหรือคุณอาจตัดสินใจว่าจะนับyเป็นสระหรือพยัญชนะ วิธีการแก้ปัญหาของคุณจะต้องเลือกหนึ่งตัวเลือกและติดกับมันอย่างไรก็ตาม คำที่ได้จะต้องไม่มีคำเดิมอย่างใดอย่างหนึ่ง: ใช่ lio|ger , ไม่มีหรือ lion|igerli|tiger กฎข้อนี้ถือแม้ว่าส่วนหนึ่งในคำถามที่จะเกิดขึ้นจากชิ้นส่วนของทั้งสองคำ: ด้วยการป้อนข้อมูลของtwo+ wordsการส่งออกยังคงเป็นที่ผิดกฎหมายเพราะมีอักขระย่อยtw|ords words(เอาต์พุตที่ถูกต้องเท่านั้นสำหรับคู่นี้t|ordsคือ) โปรแกรมหรือฟังก์ชั่นของคุณจะต้องใช้สองคำและเอาท์พุท / ส่งคืนรายการของ portmanteaus ที่น่าพอใจทั้งหมดที่สามารถเกิดขึ้นจากคำเหล่านั้นในลำดับที่ รายละเอียด ใช้วิธีการอินพุตและเอาต์พุตมาตรฐาน ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม คำจะประกอบด้วยตัวอักษรตัวพิมพ์เล็กเท่านั้น (หรือหากคุณต้องการเพียงตัวอักษรตัวพิมพ์ใหญ่เท่านั้น) คุณอาจใช้คำสองคำที่ป้อนเข้าเป็นรายการ, tuple, สองอินพุตแยกกัน, สตริงเดียวที่มีตัวคั่นที่ไม่ใช่ตัวอักษร, ฯลฯ รูปแบบผลลัพธ์มีความยืดหยุ่นในทำนองเดียวกัน หากคุณส่งคืนหรือส่งออกสตริงมันควรจะถูกคั่นด้วยเพื่อให้ชัดเจนโดยที่หนึ่งคำในพอร์ตแมนเทสิ้นสุดและคำถัดไปจะเริ่มขึ้น ไม่ควรมีตัวคั่นภายในคำในกระเป๋าหิ้ว ไม่เป็นไรหากรายการผลลัพธ์ของคุณมีผลลัพธ์ซ้ำซ้อน มันก็โอเคที่จะลบรายการที่ซ้ำกัน …

23
เดรัจฉานบังคับสวิตช์บอร์ด
เมื่อวันก่อนทีมของเราไปที่ห้องหลบหนี หนึ่งในปริศนาที่เกี่ยวข้องกับสวิทช์ทางกลหกตัวที่คุณต้องหาชุดที่ถูกต้องของการเปิดและปิดเพื่อปลดล็อคกล่องค่อนข้างเช่นนี้: -v-v-v- -v-v-v- ในฐานะนักพัฒนาเราจึงตัดสินใจว่าจะมีประสิทธิภาพมากขึ้นในการลองชุดค่าผสม 2 ^ 6 = 64 หนึ่งชุดมากกว่าที่จะไขปริศนาได้ ดังนั้นเราจึงมอบหมายให้คนจนบางคนทำการนับเลขฐานสอง: -v-v-v- -v-v-v- -v-v-v- -v-v-^- -v-v-v- -v-^-v- -v-v-v- -v-^-^- และอื่น ๆ ความท้าทาย เขียนโปรแกรมที่ให้สวิตช์ทั้งหมดอยู่ในตำแหน่งปิดเป็นสตริงที่จัดรูปแบบตามด้านบนจะสร้างชุดค่าผสมทั้งหมดของการเปิดและปิดในลำดับใด ๆ คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น ดังนั้นโปรแกรมของคุณสามารถรับอินพุตผ่าน stdin ไฟล์หรือเป็นอาร์กิวเมนต์สตริงเดี่ยวและส่งคืนหรือพิมพ์เอาต์พุต หากส่งคืนผลลัพธ์อาจอยู่ในรายการ / array / etc มากกว่าสตริงเดียว หากเอาต์พุตเป็นสตริงเดี่ยวบอร์ดควรคั่นด้วยบรรทัดใหม่ (อนุญาตให้ขึ้นบรรทัดใหม่ได้) สตริงอินพุตจะตรงกับ regex r'((-v)+-)(\n(-v)+-)*'และเป็นตัวแทนหนึ่งบอร์ดที่ปิดสวิตช์ทั้งหมด ซึ่งหมายความว่าไม่มีกรณีใดเป็นศูนย์และสวิตช์จะจัดชิดซ้าย แต่ละแถวอาจไม่มีสวิตช์จำนวนเท่ากัน บอร์ดเอาต์พุตแต่ละอันควรมีรูปแบบเดียวกันกับอินพุตยกเว้นว่าวีอาจถูกแทนที่ด้วย ^ ตามที่ต้องการ บอร์ดเอาต์พุตสามารถคั่นด้วยจำนวนบรรทัดใหม่ใด ๆ เนื่องจากรันไทม์นั้นเป็นไปตามธรรมชาติ O (2 …

3
OOP: การเขียนโปรแกรมที่เน้นการทับซ้อนกัน
หนึ่งในกระบวนทัศน์การเขียนโปรแกรมที่ไม่ค่อยมีคนรู้จักซึ่งดูเหมือนว่าเหมาะสมสำหรับการเล่นกอล์ฟรหัสคือOverlapping Oriented Programming (OOP) * เมื่อเขียนโค้ดที่เหมือนกันบางส่วนไบต์จำนวนมากสามารถบันทึกได้โดยการซ้อนทับส่วนที่เหมือนกันและจดจำในวิธีที่บรรทัดรหัสต้นฉบับสองบรรทัดเริ่มต้น งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ทับซ้อนกันสองโปรแกรมcompressและdecompressมีข้อกำหนดต่อไปนี้: * อย่าใช้ในรหัสการผลิตอาจเป็นไปได้ compress compressใช้สองสายในรูปแบบที่สะดวกและทับซ้อนให้มากที่สุด นั่นคือสตริงที่มีความยาวน้อยที่สุดจะถูกส่งกลับดังกล่าวว่าทั้งสองสายการป้อนข้อมูลเป็นสตริงของs sนอกจากนี้เอาต์พุตบางตัวที่ระบุดัชนีเริ่มต้นและจุดสิ้นสุดของสตริงทั้งสองจะถูกส่งคืน ตัวอย่าง: (รูปแบบ IO ที่แน่นอนนั้นขึ้นอยู่กับคุณ) compress("abcd", "deab") -> "deabcd" ((2,5),(0,3)) compress("abcd", "bc") -> "abcd" ((0,3),(1,2)) compress("abc", "def") -> "abcdef" ((0,2),(3,5)) or "defabc" ((3,5),(0,2)) decompress decompressคำนวณฟังก์ชันผกผันของcompressที่ได้รับสตริงและสองดัชนีเริ่มต้นและจุดสิ้นสุด (ในรูปแบบที่พวกเขาจะถูกส่งกลับโดยคุณcompress) กลับสองสตริงเดิม คุณต้องจัดการอินพุตที่ถูกต้องเท่านั้น ความเสมอภาคต่อไปนี้ควรถือสำหรับสตริงทั้งหมดs1, s2: (s1, s2) == decompress (compress (s1, s2)) ตัวอย่าง: …

30
จริงหรือเปล่า? ถามเจลลี่!
พื้นหลัง แรงบันดาลใจจากอ็อกเทฟ (และโดยการขยาย MATL's) การตีความที่สะดวกมากของเมทริกซ์ความจริง / ความเท็จเยลลี่ได้รับอะตอมอะตอมȦ (ออคเทฟทั้งหมด ) Ȧใช้เวลาอาร์เรย์เป็น input และส่งกลับ1ถ้าอาร์เรย์คือไม่ว่างและไม่ได้มีจำนวน0 (จำนวนเต็มลอยหรือซับซ้อน) ที่ใดก็ได้ในโครงสร้าง ; มิฉะนั้นก็จะส่งกลับ0 ตัวอย่างเช่นอาร์เรย์[[]]เป็นความจริงเพราะมันไม่ว่างเปล่าและไม่มีเลขศูนย์ แต่[[0]]เป็นเท็จเพราะมันมีค่า0อยู่ที่ระดับชั้นในสุด งาน ในภาษาการเขียนโปรแกรมที่คุณเลือกให้เขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้อาร์เรย์จำนวนเต็มที่อาจว่างเปล่าและขรุขระเป็นอินพุตและพิมพ์หรือส่งคืนค่าความจริงหรือเท็จที่ระบุว่าȦจะคืนค่า1หรือ0ตามลำดับ การส่งของคุณจะต้องปฏิบัติตามกฎต่อไปนี้ ค่าความจริงและเท็จจะต้องสอดคล้องกับอินพุตทั้งหมดเช่นอาร์เรย์ทั้งหมดที่Ȧคืน1ต้องจับคู่กับค่าความจริงเดียวกันและอาร์เรย์ทั้งหมดที่ all คืน0ต้องจับคู่กับค่าเท็จเดียวกัน เนื่องจากโปรแกรมแบบเต็มสามารถใช้การแทนค่าสตริงของอาร์เรย์เป็นอินพุตจึงอนุญาตให้ทำได้ อย่างไรก็ตามคุณต้องใช้การแสดงคานคาลิกในภาษาของคุณโดยส่งคืนโดยreprหรือคล้ายกัน โดยเฉพาะอย่างยิ่งคุณไม่สามารถสันนิษฐานได้ว่าองค์ประกอบแรกของอาร์เรย์จะนำหน้าด้วยช่องว่าง หาก (และเฉพาะในกรณี) ภาษาของคุณไม่สามารถแทนอาร์เรย์แบบขรุขระได้คุณอาจใช้การแทนค่าสตริงของอินพุตโดยใช้ไวยากรณ์ที่เป็นมาตรฐานของภาษาการเขียนโปรแกรมที่มีอยู่แล้ว หากภาษาของคุณมีหลายวิธีในการแทนอาร์เรย์แบบขรุขระ (เช่นรายการและสิ่งอันดับ) คุณจะต้องสนับสนุนหนึ่งในนั้นเท่านั้น ถ้าภาษาของคุณได้ในตัวว่าตัวเองเป็นส่งที่ถูกต้องเพื่อความท้าทายนี้คุณไม่สามารถใช้มันในคำตอบของคุณ อนุญาตบิวด์อินอื่นทั้งหมด คุณควรโพสต์คำตอบโดยใช้ทั้งอาร์เรย์และการจัดการสตริงแม้ว่าจะสั้นกว่าอีก ใช้กฎมาตรฐานรหัสกอล์ฟทั้งหมด อาจรหัสที่สั้นที่สุดในไบต์ชนะ! กรณีทดสอบความจริง [1] [10] [[]] [[[[1]]]] [[], [1], [1, 2]] [[1], [1, [2]], …

6
ทำคะแนนเส้นทางการแกว่งเถาไวน์ของทาร์ซาน
เถาองุ่นโอลิมปิกดำเนินการตามปกติในต้นไม้มาตรฐาน โดยเฉพาะอย่างยิ่งแผนภูมิมาตรฐานnมีจุดยอดสำหรับการ0ขึ้นn-1และขอบการเชื่อมโยงจุดยอดที่ไม่ใช่ศูนย์แต่ละจุดaกับจุดยอดn % aด้านล่าง ตัวอย่างเช่นต้นไม้มาตรฐาน 5 มีลักษณะดังนี้: 3 | 2 4 \ / 1 | 0 เนื่องจากส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 3 คือ 2 ส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 2 หรือ 4 คือ 1 และส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 1 คือ 0 ในปีนี้ทาร์ซานจะได้รับการปกป้องทองของเขากับการปฏิบัติใหม่ซึ่งแต่ละเริ่มต้นที่ยอดn - 1ชิงช้าจุดสุดยอดn - 2ยังคงจุดสุดยอดn - 3ฯลฯ 0จนในที่สุดเขาปลดจุดสุดยอด คะแนนสำหรับกิจวัตรประจำวันคือผลรวมของคะแนนสำหรับการสวิงแต่ละครั้ง (รวมถึงการลงจากหลังม้า) และคะแนนสำหรับการสวิงคือระยะทางภายในต้นไม้ระหว่างจุดเริ่มต้นและจุดสิ้นสุด ดังนั้นรูทีนของทาร์ซานบนต้นไม้มาตรฐาน 5 มีคะแนน …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

30
รวมตัวเลขตามมาตรฐานใน
พิจารณาสตรีม / ไฟล์ที่มีจำนวนเต็มหนึ่งตัวต่อบรรทัด ตัวอย่างเช่น: 123 5 99 227รหัสของคุณควรส่งออกผลรวมของตัวเลขเหล่านี้ว่าเป็น รูปแบบการป้อนข้อมูลเป็นจำนวนเต็มหนึ่งจำนวนต่อหนึ่งบรรทัดอย่างเคร่งครัด ตัวอย่างเช่นคุณไม่สามารถสมมติว่าอินพุตอยู่ในหนึ่งบรรทัดเป็นอาร์เรย์ของจำนวนเต็ม คุณสามารถรับอินพุตจาก STDIN ในรูปแบบของชื่อไฟล์หรือไฟล์ที่มีชื่อที่คุณเลือก คุณสามารถเลือกได้ ไม่อนุญาตให้ใช้วิธีอื่นในการป้อนข้อมูล อินพุตจะมีจำนวนเต็มอย่างน้อยหนึ่งตัว คุณสามารถสันนิษฐานได้ว่าจำนวนเต็มทั้งหมดจะไม่ใช่เชิงลบและผลรวมของพวกเขาคือน้อยกว่า232

5
แก้ไขย่อหน้า
ด้วยจิตวิญญาณของPatch the Imageนี่เป็นความท้าทายที่คล้ายกัน แต่มีข้อความ ท้าทาย Bit rot ทำให้ข้อความที่มีค่าของคุณทรมาน! ด้วยย่อหน้าที่ประกอบด้วยอักขระ ASCII โดยที่มีรูสี่เหลี่ยมอยู่ที่ไหนสักแห่งโปรแกรมของคุณควรพยายามเติมข้อความที่เหมาะสมลงในหลุมเพื่อให้ย่อหน้านั้นกลมกลืนที่สุดเท่าที่จะทำได้ คำจำกัดความเพิ่มเติม หลุมจะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอและอาจขยายหลายบรรทัด จะมีเพียงรูเดียวเท่านั้น โปรดทราบว่ารูไม่จำเป็นต้องตกอยู่ในขอบเขตของคำ หลุมจะมีอย่างน้อยที่สุด 25% ของย่อหน้าอินพุต แต่อาจทับซ้อนหรือขยายผ่านข้อความ "สิ้นสุด" ของข้อความ "ปกติ" (ดูตัวอย่างของ Euclid หรือ Badger ด้านล่าง) เนื่องจากการค้นหาหลุมไม่ใช่ประเด็นหลักของการท้าทายนี้จะประกอบด้วยเครื่องหมายแฮชเพียงอย่างเดียว#เพื่อให้สามารถระบุตัวตนได้ง่าย ไม่มีตำแหน่งอื่นในย่อหน้าอินพุตจะมีเครื่องหมายแฮช รหัสของคุณไม่สามารถใช้ข้อความ "ปกติ" ในตัวอย่างด้านล่าง - มันจะได้รับและประมวลผลข้อความด้วยรูที่อยู่ในนั้น อินพุตสามารถเป็นสตริงแบบหลายบรรทัดเดียวเป็นอาร์เรย์ของสตริง (หนึ่งองค์ประกอบต่อบรรทัด) เป็นไฟล์และอื่น ๆ - คุณเลือกสิ่งที่สะดวกที่สุดสำหรับภาษาของคุณ หากต้องการสามารถป้อนข้อมูลเพิ่มเติมที่เป็นตัวเลือกโดยละเอียดรายละเอียดพิกัดของหลุมได้ (เช่น tuple ของพิกัดหรือสิ่งที่คล้ายกัน) โปรดอธิบายอัลกอริทึมของคุณในการส่งของคุณ การออกเสียง ผู้มีสิทธิเลือกตั้งจะถูกขอให้ตัดสินรายการตามวิธีที่อัลกอริธึมเติมเต็มในรูข้อความ ข้อเสนอแนะบางอย่างรวมถึงต่อไปนี้: พื้นที่ที่เติมเต็มตรงกับการกระจายตัวของช่องว่างและเครื่องหมายวรรคตอนโดยประมาณเป็นส่วนที่เหลือของย่อหน้าหรือไม่ พื้นที่เติมเต็มมีไวยากรณ์ที่ผิดพลาดหรือไม่? …

3
ตีกอล์ฟชื่อผู้ใช้ PPCG
ความคิดเห็นที่ฉันทำในการแชทและการสนทนาที่ตามมาเป็นแรงบันดาลใจให้ฉันเพื่อให้ความท้าทายนี้ ฉันเป็นคนเดียวที่อ้างอิงโดยชื่อย่อแถว ๆ นี้หรือไม่? เราทุกคนต่างก็เล่นกอล์ฟกัน เราสามารถมี MB และ D-nob และ ... O. ถ้าฉันรู้จัก "CH" ฉันก็คิดว่าทุกคนควรจะมีชื่อเล่นเบื้องต้นด้วยเช่นกัน นี่คือรายชื่อของผู้ใช้ 100 อันดับปริศนาเพื่อการเขียนโปรแกรมและรหัสกอล์ฟที่มีชื่อเสียงในการเล่นกับ: Martin Büttner Doorknob Peter Taylor Howard marinus Dennis DigitalTrauma David Carraher primo squeamish ossifrage Keith Randall Ilmari Karonen Quincunx Optimizer grc Calvin's Hobbies ugoren Mig gnibbler Sp3000 aditsu histocrat Ventero xnor mniip …
32 code-golf  string 

29
สตริงย่อยที่ระเบิดได้
บทนำ abcลองสังเกตสตริง สตริงย่อยที่สามารถทำได้จากสิ่งนี้คือ: a, ab, abc, b, bc, c ตอนนี้เราจำเป็นต้องจัดแนวพวกเขาภายใต้สตริงเริ่มต้นเช่นนี้ abc a b c ab bc abc ลำดับของสตริงไม่สำคัญดังนั้นจึงเป็นสิ่งที่ถูกต้องเช่นกัน: abc a ab abc b bc c ดังนั้นซับสตริงจะอยู่ในตำแหน่งใต้สตริงย่อยในสตริงเริ่มต้น ดังนั้นสำหรับabcdefและสตริงย่อยcdeมันจะมีลักษณะเช่นนี้: abcdef cde งาน ภารกิจคือจัดแนววัสดุพิมพ์ทั้งหมดให้มีความยาวมากกว่า 0เช่นที่แสดงด้านบน คุณสามารถสันนิษฐานได้ว่าตัวสตริงนั้นจะมีเพียงตัวอักษรและมีอย่างน้อย 1 ตัวอักษร สำหรับการขยายคุณสามารถใช้ช่องว่างหรืออักขระ ASCII ที่ไม่ใช่ตัวอักษรที่สามารถพิมพ์ได้ ( 32 - 127) อาจไม่จำเป็นต้องพูดถึง แต่สตริงเองจะมีอักขระที่ไม่ซ้ำกันเท่านั้นดังนั้นจึงไม่ชอบabaเนื่องจากaเกิดขึ้นสองครั้ง กรณีทดสอบ การป้อนข้อมูล: abcde เอาต์พุตที่เป็นไปได้: a ab …
32 code-golf  string 

30
การยืดคำ
เขียนโปรแกรมหรือฟังก์ชั่นที่ทำซ้ำตัวอักษรในคำเพื่อให้ตัวอักษรที่ซ้ำกันทั้งหมดที่จัดเรียงจากซ้ายไปขวาในคำว่าจะเป็นอาร์เรย์อินพุต ตัวอย่างเช่น: input: chameleon, [c,a,l,n] output: cchaamelleonn อินพุต คำเริ่มต้น (เช่นchameleon) อาเรย์ของอักขระ ( [c,a,l,n]) หรือสตริงที่ใช้แทนอาเรย์ ( caln) หรือบางอย่างที่คล้ายกัน อินพุตสามารถผ่านพารามิเตอร์ฟังก์ชัน STDIN หรือภาษาที่เทียบเท่ากัน อินพุตทั้งหมดจะเป็นตัวอักษรพิมพ์เล็ก (az) เอาท์พุต คำที่เปลี่ยนไป หากมีหลายวิธีสามารถพิมพ์ออกมาได้ input: banana [n,a] possible outputs: bannaana, banannaa |-|---------|-|--->[n,a] คุณอาจคิดว่าคำที่ป้อน (ไม่จำเป็นต้องเป็นอาร์เรย์) จะมีตัวอักษรในอาร์เรย์ (ตามลำดับ) คุณอาจจะสมมติว่าอินพุตนั้นไม่มีตัวอักษรต่อเนื่องกันเหมือนกัน (ไม่ใช่แอปเปิ้ล, เกินบรรยาย, เขียว, แก้ว, ประตู ... ) ตัวอย่าง input: abcdefghij, [a,b,c] output: …

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