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

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

24
พูดในสิ่งที่คุณเห็น
ลำดับ "ดูแล้วพูด" หรือ "พูดในสิ่งที่คุณเห็น" เป็นชุดของตัวเลขที่แต่ละตัวอธิบายล่าสุด 1 11 (one one) 21 (two ones) 1211 (one two, one one) 111221 (one one, one two, two ones) 312211 (three ones, two twos, one one) และบนและบน ... https://oeis.org/A005150 อย่างไรก็ตามนี่เป็นความท้าทายของการเล่นกอล์ฟแบบปกติ (นับจำนวนไบต์น้อยที่สุด) ในการสร้างโปรแกรมที่รับสองอาร์กิวเมนต์หมายเลขเริ่มต้นและจำนวนการวนซ้ำ ตัวอย่างเช่นหากคุณเสียบ "1" และ "2" ผลลัพธ์จะเป็น "21" หากคุณเสียบ "2" และ "4" ผลลัพธ์จะเป็น "132112" มีความสุข!

30
การทดแทนในภายหลัง
ภาษาส่วนใหญ่จะมีบิวด์อินเพื่อค้นหาสตริงสำหรับการเกิดขึ้นทั้งหมดของซับสตริงที่กำหนดและแทนที่ด้วยสตริงอื่น ฉันไม่รู้ภาษาใด ๆ ที่ทำให้แนวคิดนี้เป็นจริง (ไม่จำเป็นต้องต่อเนื่องกัน) นั่นคือภารกิจของคุณในการท้าทายนี้ การป้อนข้อมูลจะประกอบด้วยสามสายA, BและCที่BและCมีการรับประกันที่มีความยาวเดียวกัน หากBปรากฏเป็น subsequence ในมันควรจะถูกแทนที่ด้วยA Cนี่คือตัวอย่างง่ายๆ: A: abcdefghijklmnopqrstuvwxyz B: ghost C: 12345 มันจะถูกประมวลผลเช่นนี้: abcdefghijklmnopqrstuvwxyz || | || abcdef12ijklmn3pqr45uvwxyz หากมีหลายวิธีในการค้นหาBให้เป็นลำดับคุณควรแทนที่ด้านซ้ายสุดอย่างโลภ: A: abcdeedcba B: ada C: BOB Result: BbcOeedcbB and NOT: BbcdeeOcbB เช่นเดียวกันหากBพบได้ในหลาย ๆ ที่: A: abcdeedcbaabcde B: ed C: 12 Result: abcd1e2cbaabcde and NOT: abcd112cbaabc2e …

7
ฉันจะร้อยสายและอะแดปเตอร์ทั้งหมดเข้าด้วยกันได้หรือไม่
สมมติว่าวันหนึ่งคุณขุดผ่านสายคอมพิวเตอร์และอะแดปเตอร์ขนาดใหญ่ที่ไม่ได้ใช้ (USB เป็น USB mini, VGA กับ DVI, ฯลฯ ) มีสายพันกันทุกที่ทำให้เกิดความยุ่งเหยิงและคุณสงสัยว่าคุณสามารถทำให้สิ่งต่าง ๆ ง่ายขึ้นหรือไม่โดยการรวมสายทั้งหมดเข้าด้วยกันในสายยาวเส้นเดียวแล้วก็กลิ้งมันขึ้นมา คำถามคือมันเป็นไปได้ไหมที่จะเชื่อมต่อสายไฟและอะแดปเตอร์ทั้งหมดของคุณในสายยาว ๆ แบบนี้? เห็นได้ชัดว่ามันเป็นไปไม่ได้เสมอไปเช่นหากคุณมีสายไฟสองเส้นที่มีปลั๊กที่แตกต่างกันโดยสิ้นเชิง แต่ถ้าคุณมีสายที่สามที่สามารถเชื่อมต่อกับทั้งสองสายได้คุณสามารถร้อยสายทั้งหมดเข้าด้วยกัน คุณไม่สนใจว่าปลั๊กชนิดใดที่อยู่บนปลายของสายไฟทั้งหมด พวกเขาไม่จำเป็นต้องเสียบเข้าด้วยกันเพื่อสร้างวง คุณแค่อยากรู้ว่าการทำสายไฟทั้งหมดนั้นเป็นไปได้หรือไม่และถ้าเป็นเช่นนั้นจะทำอย่างไร ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในสตริงหลายบรรทัดโดยที่ทุกบรรทัดแสดงหนึ่งในสายที่คุณเป็นเจ้าของ สายไฟประกอบด้วยเส้นประอย่างน้อยหนึ่งเส้น ( -) พร้อมปลั๊กที่ปลายทั้งสองด้าน ปลั๊กเป็นหนึ่งใน 8 ตัวอักษร()[]{}<>เสมอ ดังนั้นนี่คือบางส่วนสายที่ถูกต้อง: >-> (--[ }-{ <-----] (---) แต่นี่ไม่ใช่: --> (-- )-- [{ --- เมื่อเชื่อมต่อสายเชื่อมต่อเท่านั้นที่สามารถใช้ตัวยึดประเภทเดียวกันได้ ดังนั้นนี่คือการเชื่อมต่อสายไฟที่ถูกต้อง: ...---((---... ...---))---... ...---]]---... ...---{{---... ...---<<---... และสิ่งเหล่านี้ไม่ถูกต้อง: …
30 code-golf  string 

3
ช่วยด้วย! เครื่องคิดเลขของฉันพัง! (เปลี่ยนนิพจน์จำนวนเต็มเป็นการกดปุ่มเครื่องคิดเลข)
บทนำ ช่วยด้วย! ฉันเผลอทิ้งเครื่องคิดเลข TI-84 ของฉันออกไปนอกหน้าต่าง (ไม่ต้องถามว่าทำอย่างไร) และมันก็พัง ฉันมีการทดสอบทางคณิตศาสตร์ในวันพรุ่งนี้และเครื่องคิดเลขเพียงตัวเดียวที่ฉันพบคือปุ่มที่มี: 7 8 9 + 4 5 6 - 1 2 3 * 0 = / แบบทดสอบคณิตศาสตร์ของฉันคือแบบทดสอบทบทวนการประเมินผลนิพจน์ ฉันต้องการโปรแกรมเพื่อแสดงออกเช่น1+(5*4)/7และแปลงเป็นการกดแป้นที่จำเป็นในการแก้ปัญหาในเครื่องคิดเลขสำรองของฉัน (และในกรณีที่คุณสงสัยสิ่งนี้เกิดขึ้นกับฉันจริง ๆ ) ท้าทาย ได้รับสายเข้าไม่ว่างเปล่าที่มีเพียงตัวละคร0-9, (, ), +, -, *และ/การส่งออกการกดแป้นพิมพ์ในสตริงพื้นที่แยกออกจากกัน (เช่น. 1 + 3 / 3 =) จะต้องมีเครื่องหมายเท่ากับเสมอในตอนท้ายของเอาต์พุต ไม่อนุญาตช่องโหว่มาตรฐาน ตัวอย่าง: อินพุต: 1+(5*4)/7, เอาต์พุต:5 * 4 …

30
ใช้“ แทค”: พิมพ์บรรทัดจากไฟล์ย้อนกลับ
ระหว่างคำถามลูกแมวและเห็นคำถามนี้ที่ U & Lเกี่ยวกับบางsedมายากลวิธีการเกี่ยวกับการดำเนินการtac? วัตถุประสงค์ ใช้โปรแกรมที่จะย้อนกลับและพิมพ์บรรทัดในไฟล์ อินพุต ไฟล์ที่ระบุเป็นชื่อหรือผ่านอินพุตมาตรฐาน เอาท์พุต เส้นกลับด้านเพื่อออกมาตรฐาน เกณฑ์การให้คะแนน ไบต์ของซอร์สโค้ด
30 code-golf  string 

10
ข้อความไซน์
เป้าหมาย:เขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์สตริงอินพุตในรูปแบบไซน์ ไซน์ไซนัส ASCII นี่คือช่วงเวลาหนึ่งของไซนัสอยด์: ....... ... ... .. .. . . . . . . . . . . . . . . . .. .. ... ... ....... โปรดทราบว่าแต่ละจุดมีจุดหนึ่งจุดอย่างแน่นอน อักขระแต่ละตัวในสตริงอินพุตจะแทนที่จุดในรูปร่างด้านบนจากซ้ายไปขวา ช่องว่างในอินพุตจะต้องถูกเอาต์พุตเช่นอักขระปกติแทนจุด อักขระเริ่มต้นสอดคล้องกับจุดซ้ายสุดในรูปด้านบน นี่เป็นเพียงช่วงเวลาเดียวอินพุตอาจยาวกว่าจำนวนจุดด้านบน อินพุต อินพุตเป็นสตริง ASCII ที่มีเฉพาะอักขระระหว่าง ASCII ทศนิยม 32 (ช่องว่าง) และ ASCII ทศนิยม 126 (Tilde ~) อินพุตจะเป็นหนึ่งบรรทัดเท่านั้น (ไม่มีการแบ่งบรรทัด) …

30
คำนำหน้าทั่วไปที่ยาวที่สุดของ 2 สาย
เขียนโปรแกรมที่รับ 2 สายเป็นอินพุตและส่งคืนคำนำหน้าทั่วไปที่ยาวที่สุด นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดคือจำนวนไบต์ที่ชนะ Test Case 1: "global" , "glossary" "glo" Test Case 2: "department" , "depart" "depart" Test Case 3: "glove", "dove" ""
30 code-golf  string 

30
แมวกินข้อมูลของคุณอีกครั้ง!
สร้างโปรแกรม cat หรือที่เรียกว่าโปรแกรมที่รับอินพุตและพิมพ์ ... ยกเว้นโปรแกรมจะสุ่มตัวละครออกจากอินพุตของคุณและพิมพ์แทน อักขระแต่ละตัวในอินพุตควรมีอัตราต่อรองที่เท่ากันโดยทั่วไปเพื่อลบออกด้วยโปรแกรม แต่เนื่องจากยากต่อการทำเช่นนั้นโอกาสสำหรับแต่ละอักขระอาจแตกต่างกันมากที่สุด 10% โปรแกรมของคุณควรรับอินพุตจากนั้นสุ่มลบอักขระจากอินพุตจากนั้นพิมพ์เวอร์ชันนั้นอีกครั้ง (คุณสามารถพิมพ์ด้วยการขึ้นบรรทัดใหม่หรืออักขระอื่น ๆ ในกรณีที่ภาษาของคุณต้องพิมพ์บรรทัดใหม่) หากอินพุตBOOOWLนั้นไม่ควรลบ Os ทั้งหมดที่มีโอกาสเท่ากัน: ควรพิจารณาตัวละครแต่ละตัว (ไม่ซ้ำกัน) ดังนั้นแทนที่จะเป็น O ทุกตัวที่มีโอกาส 1/5 (ตัวอย่าง) แต่ละ O ควรมี 1 / 5 โอกาสดังนั้นแทนที่จะมีการโอกาสที่ 1/5 ของBWLควรจะมีโอกาสที่ 1/5 ของ,BOWLBOOWL อินพุตถูก จำกัด ที่ STDIN หรือเทียบเท่าที่ใกล้เคียงที่สุด ตัวละครแต่ละตัวจะต้องมีอย่างน้อย 10% และมีโอกาสสูงสุดที่จะลบออกได้ 30% อัตราต่อรองของตัวละครแต่ละตัวควรคำนวณแยกกัน คุณสามารถใช้องค์ประกอบใด ๆ ในภาษาของคุณที่สนับสนุนการกระทำแบบสุ่มไม่ว่าจะเป็นฟังก์ชั่นหรืออย่างอื่น เอาต์พุตจะต้องผ่าน STDOUT หรือใกล้เคียงที่สุด หากภาษาของคุณมี …

30
pwaS eht tirsf dna tasl setterl สำหรับ hace dorw
หรือ "สลับอักษรตัวแรกและตัวสุดท้ายของแต่ละคำ" ความท้าทายของคุณคือให้ใช้อักขระ ASCII เรียงตามตัวอักษรและอักขระอื่น ๆ เพื่อใช้เป็นตัวคั่น (เพื่อคั่นแต่ละคำ) สลับตัวอักษรตัวแรกและตัวสุดท้ายของแต่ละคำ หากมีคำเดียวให้เว้นไว้เพียงคำเดียว ตัวอย่าง / testcases ใช้อักษรตัวพิมพ์เล็กและช่องว่างเป็นตัวคั่น คุณไม่จำเป็นต้องจัดการเครื่องหมายวรรคตอน อินพุตทั้งหมดจะประกอบด้วยตัวอักษร a ถึง z เท่านั้นคั่นด้วยตัวคั่นตัวพิมพ์ทั้งหมด ตัวอย่างเช่นกับสตริง "hello world": Input string: "hello world" Identify each word: "[hello] [world]" Identify the first and last letters of each word: "[[h]ell[o]] [[w]orl[d]]" Swap the first letters of each word: …
30 code-golf  string 

30
สตริงย่อยทั่วไปที่ยิ่งใหญ่ที่สุด
สร้างโปรแกรมหรือฟังก์ชั่นที่รับรายการสตริงเป็นอินพุตและเอาต์พุตสตริงที่ยาวที่สุดที่เป็นสตริงย่อยของสตริงอินพุตทั้งหมด หากมีสตริงย่อยหลายรายการที่มีความยาวเท่ากันและไม่มีซับสตริงอีกต่อไปให้ส่งเอาต์พุตใด ๆ นี่อาจหมายถึงการแสดงผลสตริงที่ว่างเปล่า หากมีผลลัพธ์ที่ถูกต้องหลายอย่างคุณอาจส่งออกหนึ่งในนั้น คุณไม่จำเป็นต้องให้เอาต์พุตที่สอดคล้องกันสำหรับอินพุตที่กำหนดตราบใดที่เอาต์พุตนั้นถูกต้องเสมอ จะมีอย่างน้อยหนึ่งสตริงในอินพุต แต่อาจไม่มีสตริงที่ไม่ว่างเปล่า อักขระ ASCII ที่พิมพ์ได้ทั้งหมดอาจปรากฏในอินพุต คุณอาจสันนิษฐานว่าเป็นเพียงตัวอักษรที่ปรากฏขึ้น คุณสามารถรับอินพุตหรือผลิตผลโดยวิธีการเริ่มต้นใดก็ได้ ไม่อนุญาตช่องโหว่มาตรฐาน นี่คือโค้ดกอล์ฟ - ยิ่งมีจำนวนไบต์น้อยเท่าไหร่ก็ยิ่งดีเท่านั้น กรณีทดสอบ: [Inputs] -> [Valid outputs (choose one)] ["hello", "'ello"] -> ["ello"] ["very", "much", "different"] -> [""] ["empty", "", "STRING"] -> [""] ["identical", "identical"] -> ["identical"] ["string", "stRIng"] -> ["st", "ng"] ["this one", "is …

10
ตีความ /// (ออกเสียง 'ทับ')
เพราะเราไม่สามารถเล่นกอล์ฟที่เป็นภาษาลึกลับได้มากพอใช่ไหม? /// - เครื่องหมายทับ - เป็นภาษาเล็ก ๆ น้อย ๆ ที่สนุกสนานตามs///ฟังก์ชั่นการแทนที่ regex ของชื่อเสียงของ Perl มันมีเพียงสองตัวละครพิเศษเฉือน/และเครื่องหมายทับขวา\เท่านั้น คุณสามารถค้นหาบทความฉบับเต็มได้ที่วิกิ esolangsแต่ฉันจะทำซ้ำคำอธิบายของภาษาด้านล่างรวมถึงตัวอย่างบางส่วน ในระยะสั้นมันทำงานโดยระบุ/pattern/repl/restในโปรแกรมและทำการทดแทนได้หลายครั้งเท่าที่จะทำได้ ไม่มีอักขระพิเศษยกเว้น/และ\: /แบ่งเขตรูปแบบและการแทนที่ในโปรแกรมในขณะที่\ให้คุณแทรกตัวอักษร/หรือ\อักขระลงในรหัสของคุณ ยวดเหล่านี้ไม่ใช่การแสดงออกปกติเพียงทดแทนสตริงธรรมดา ความท้าทายของคุณคือการผลิตล่ามสำหรับ /// ภาษาไม่ว่าจะเป็นโปรแกรมที่อ่าน STDIN หรือฟังก์ชั่นที่รับอาร์กิวเมนต์สตริงในตัวละครน้อยที่สุด คุณสามารถใช้ภาษาใดก็ได้ยกเว้น /// ตัวเอง คุณไม่สามารถใช้ไลบรารีใด ๆ ที่ตีความ ///; อย่างไรก็ตามคุณสามารถใช้ไลบรารี regex, regex หรือไลบรารีที่จับคู่สตริง การกระทำ มีสี่รัฐมีการพิมพ์ , รูปแบบ , ทดแทนและเปลี่ยนตัว ในทุกรัฐยกเว้นการทดแทน : หากโปรแกรมว่างเปล่าการทำงานจะหยุดทำงาน มิฉะนั้นถ้าตัวละครตัวแรกคือ\ทำอะไรกับตัวละครต่อไป (ถ้ามี) และลบทั้งสองจากโปรแกรม มิฉะนั้นถ้าอักขระตัวแรกคือ/ให้ลบออกและเปลี่ยนเป็นสถานะถัดไป อื่นทำอะไรกับตัวละครตัวแรกและลบออกจากโปรแกรม …

26
ลูกศรตัวแปรเหล่านั้น!
ท้าทาย โรบินชอบมีการประกาศตัวแปรของเขาในรูปของลูกศร นี่คือวิธีที่เขาทำ: อินพุตสตริงจำนวนเท่าใดก็ได้ จัดเรียงตามความยาว เอาท์พุทพวกเขาสั่งจากกลางถึงรูปหัวลูกศรเชิงลบประมาณเช่นนี้ (ใดก็ตามสั่งกอล์ฟที่ดีที่สุด): 5 or 4 3 2 1 1 2 3 4 5 กรณีทดสอบ การป้อนข้อมูล: bow arrows sheriffOfNottingham kingRichard maidMarian princeJohn sherwoodForest เอาท์พุท: sheriffOfNottingham kingRichard maidMarian bow arrows princeJohn sherwoodForest การป้อนข้อมูล: a bb cc เอาต์พุต (ใช้ได้ทั้งคู่): bb a cc cc a bb การป้อนข้อมูล: one four …

15
ทดแทนแม่เหล็กตู้เย็น
เมื่อมีการเขียนข้อความที่มีแม่เหล็กติดตู้เย็น, คุณมักจะพบว่าตัวเองทำหน้าที่แทนสำหรับ1 Iในการท้าทายนี้เป้าหมายของคุณคือค้นหาว่าสามารถเขียนข้อความโดยใช้ตัวอักษรของข้อความอื่นได้หรือไม่ การทดแทนที่ได้รับอนุญาตคือ: A = 4 B = 8 C = U E = M = W = 3 G = 6 = 9 I = 1 L = 7 N = Z O = 0 R = 2 S = 5 ตัวอย่างเช่นข้อความCIRCA 333สามารถจัดใหม่ที่จะสะกดICE CREAMที่สองคนแรก3ที่จะหมุน 180 องศาเพื่อให้ทั้งสองEs และสุดท้าย3คือ 90 …

7
เรามาถึงจุดที่เราเริ่มแล้ว! ...
ท้าทาย: การป้อนข้อมูล: คุณรับสองอินพุต: - สตริงประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้น (ไม่รวมช่องว่างแท็บหรือบรรทัดใหม่) - อักขระ ASCII ที่พิมพ์ได้ เอาท์พุท: บรรทัดแรกจะมีการป้อนสตริง ทุกi-modulo-3 ครั้งแรกที่เกิดขึ้นของตัวละครนี้จะย้ายไปในทิศทางที่ตะวันออกเฉียงใต้; ทุกi-modulo-3 วินาทีที่เกิดขึ้นจะย้ายในทิศทางใต้; และทุก ๆi-modulo-3 เหตุการณ์ที่สามจะย้ายในทิศทางตะวันตกเฉียงใต้ คุณจะดำเนินการต่อไปจนกว่าอักขระจะอยู่ในตำแหน่งเริ่มต้นเริ่มต้นของพวกเขาอีกครั้ง (ซึ่งหมายความว่ามันจะถูกล้อมรอบจากด้านหนึ่งไปอีกด้านหนึ่งหากจำเป็น) จากนั้นคุณจะพิมพ์บรรทัดสุดท้ายด้วยการป้อนสตริงอีกครั้ง ทำมันให้เสร็จ. (โปรดทราบว่ากรณีทดสอบทั้งหมดจะสิ้นสุดที่อินพุตเริ่มต้นหลังจากที่length(input)แถวส่วนใหญ่รวมถึงแถวที่มีอินพุตต่อท้ายซึ่งอาจเร็วกว่าที่เห็นในกรณีทดสอบครั้งแรกด้านล่างนี้ด้วยความยาว 14 แต่สิ้นสุดหลังจาก 9. ) ทั้งหมดนี้อาจคลุมเครือดังนั้นนี่เป็นตัวอย่าง: กรณีทดสอบ 1: สตริงอินพุต: "This_is_a_test" อักขระอินพุต:'s' เอาท์พุท: This_is_a_test s s s ss s s s sss sss s s ss …

9
มันเป็นภูเขาหรือไม่?
ท้าทาย สำหรับความท้าทายนี้สตริงที่เป็นภูเขาเป็นสิ่งที่สอดคล้องกับกฎไวยากรณ์M: x(Mx)*ที่ทุกการผลิต x ทั้งหมดเป็นอักขระเดียวกัน เมื่อเยื้องสายภูเขาอาจมีลักษณะเช่นนี้: A B C D C E F E C B A อย่างที่คุณเห็นมันดูเหมือนภูเขาจากทางด้านข้าง นิยามอย่างเป็นทางการ อักขระเดี่ยวใด ๆ ที่aเป็นภูเขา ถ้าSเป็นสตริงภูเขาและaเป็นอักขระแล้วก็aSaเป็นภูเขาซึ่งการวางเคียงกันแสดงถึงการต่อสตริง ถ้าaSaและaTaเป็นสายภูเขาก็aSaTaเป็นสายภูเขา โปรดทราบว่ากฎนี้มีความหมายว่ารูปแบบนี้มีไว้สำหรับการทำซ้ำจำนวนเท่าใดก็ได้ (เช่นaSaTaUa, aSaTaUaVa, aSaTaUaVaWa... มีทั้งหมดภูเขา.) ตัวอย่าง palindromes ความยาวคี่ทั้งหมดเป็นภูเขาตัวอย่างเช่น: t a c o c a t qwertytrasdfdgdsarewqjklkjq เป็นตัวอย่างเล็กน้อย: q w e r t y t r a …

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