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

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

10
Lorem Ipsum ขนาดโค้ดเอาต์พุต
เอาท์พุทความยาวเดียวกันของLorem ipsumโค้ดของคุณคือ! กฎ: รหัสไม่สามารถเหมือนกันกับเอาท์พุท ไม่มีไลบรารีการบีบอัด โปรแกรมที่สั้นที่สุดในสองสัปดาห์ชนะ ไม่มีการใช้เครือข่ายการอ่านไฟล์และเทคนิคอื่น ๆ ที่หนึ่งได้อย่างง่ายดายสามารถแก้ปัญหารหัสกอล์ฟใด ๆ (มีeval, execฯลฯ ) ตัวอย่าง Your code with length 25. เอาท์พุต Lorem ipsum dolor sit ame

8
การสร้างไม้บรรทัด ASCII
ความท้าทายคือการสร้างไม้บรรทัดนับอักขระ ASCII ในรูปแบบต่อไปนี้: +-------------------------------------------------------------------------+ || | | | | | | | | | | | | | | | |0 10 20 30 40 50 60 70 | | | +-------------------------------------------------------------------------+ ความยาวของไม้บรรทัดควรปรับได้ตามความหลากหลายของ 10 กฎ: ไม้บรรทัดต้องเป็นแนวนอน สมมติว่าเพื่อให้สิ่งที่เรียบง่ายว่าการทำงานของผู้ปกครองต้องจนกว่าเครื่องหมาย 1000 ตัวเลขทั้งหมดซ้ายชิดพื้นที่หนึ่งหลังจากตัวเลขสุดท้าย การขอไม้บรรทัดที่มีความยาวเป็นศูนย์ควรพิมพ์ NaR ตัวเลขติดลบควรพิมพ์ไม้บรรทัดที่กลับด้าน (-90, -80, -70, ... ) ด้วยตัวเลขที่จัดชิดขวาในรูปแบบเดียวกับที่อยู่ด้านบน และเพียงพิมพ์ไปที่คอนโซลก็โอเค พร้อมตั้งกอล์ฟ!

3
Levenshtein ที่มาของคุณ
ระยะทางแก้ไข Levenshtein ระหว่างสองสายคือจำนวนที่น้อยที่สุดที่เป็นไปได้ของการแทรกการลบหรือการแทนที่เพื่อแปลงหนึ่งคำเป็นคำอื่น ในกรณีนี้การแทรกการลบและการแทนที่แต่ละรายการมีค่า 1 ตัวอย่างเช่นระยะห่างระหว่างrollและrollingคือ 3 เนื่องจากการลบมีค่าใช้จ่าย 1 และเราต้องลบ 3 ตัวอักษร ระยะห่างระหว่างtollและtallคือ 1 เนื่องจากการทดแทนมีค่าใช้จ่าย 1 ถูกขโมยไปจากคำถาม Levenshtein ดั้งเดิม งานของคุณคือการคำนวณความแตกต่างในการแก้ไข Levenshtein ระหว่างสตริงอินพุตและแหล่งที่มาของคุณ นี่คือแท็กควินดังนั้นโกง quines (ตัวอย่างเช่นการอ่านรหัสต้นฉบับของคุณ) จะไม่ได้รับอนุญาต กฎระเบียบ อินพุตจะไม่ว่างเปล่าและจะประกอบด้วย ASCII ยกเว้นว่าที่มาของคุณมีไม่ใช่ ASCII ซึ่งในกรณีนี้อินพุตอาจมี Unicode ไม่ว่าระยะทาง Levenshtein จะถูกวัดเป็นอักขระไม่ใช่ไบต์ เอาต์พุตเป็นระยะทางแก้ไข Levenshtein ขั้นต่ำของอินพุตและแหล่งที่มาของคุณ นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดเป็นไบต์ชนะ

2
ผันคำกริยาภาษาตุรกี
อินพุต กริยาสตริงที่ตรงกับการแสดงออกปกติ([a-pr-vyzıöüçğş]*[aeıioöuü][bcçdfgğhj-nprsştvyz]+|([a-pr-vyzıöüçğş]*[aeıioöuü]){2})(mak|mek) พหูพจน์ค่าความจริงหรือเท็จ person , จำนวนเต็มมีค่าเป็น 1, 2 หรือ 3 tenseคือเลขจำนวนเต็มที่มีค่า 1, 2 หรือ 3 เอาท์พุต รูปแบบคอนจูเกตของคำกริยาตุรกีคำกริยาในคนST / ครั้ง / ถนนคนพหูพจน์ถ้าเป็นพหูพจน์เป็นTRUEเอกเทศและถ้ามันไม่ได้ใน ถ้ากาลเป็น 1 สิ่งที่ง่าย ถ้ากาลเป็น 2, ปัจจุบันอย่างต่อเนื่อง; ถ้ากาลเป็น 3 อนาคต กฎระเบียบ คำกริยาภาษาตุรกีประกอบกันในสามองค์ประกอบซึ่งเรียงตามลำดับ: ต้นกำเนิดที่เกิดขึ้นโดยการลบmakหรือmekจากจุดสิ้นสุดของ infinitive นั้น สัญลักษณ์ของความตึงเครียดซึ่งเป็น: สำหรับของขวัญที่เรียบง่าย: -rถ้าก้านจบลงด้วยเสียงสระ; -irตามกฎความกลมกลืนของสระ (ดูด้านล่าง) ถ้าก้านมีพยางค์มากกว่าหนึ่งพยางค์ (เช่นสระ) หรือมาจากหนึ่งในคำกริยาที่ผิดปกติดังต่อไปนี้: almak, bilmek, bulmak, durmak, gmemek, olmak, olmak …

2
การเล่นกอล์ฟของเชลล์โกลบ
งานนี้คือการส่งออกเส้นทางที่สั้นที่สุดไปยังไฟล์หลังจากการขยาย glob เปลือกกลมคืออะไร? ในเชลล์ส่วนใหญ่คุณสามารถใช้*อักขระในพา ธ เพื่อแทนอักขระใด ๆ ที่ตำแหน่ง ตัวอย่างเช่นถ้าไดเรกทอรีfooมีไฟล์bar bazและasdfจากนั้นจะขยายไปยังfoo/b*foo/bar foo/baz ตอนนี้สมมติว่าไดเรกทอรีปัจจุบันมีไฟล์ชื่อihavealongnameและไม่มีอะไรอื่น หากฉันต้องการอ้างอิงไฟล์นี้ฉันอาจพิมพ์*ซึ่งจะแสดงเพียงไฟล์เดียวเท่านั้นแทนที่จะพิมพ์ชื่อเต็ม หากไดเรกทอรีมีไฟล์ชื่อialsohavealongnameฉันไม่สามารถทำได้*เพราะมันจะตรงกับไฟล์ทั้งสอง ih*ที่ผมจะต้องทำอย่างน้อย *รูปแบบยังสามารถใช้ได้กับการจับคู่ดังกล่าวข้างต้นไดเรกทอรีไฟล์ฉันกำลังมองหา หากมีเพียงสองไดเรกทอรีfooและbarแต่fooมีเพียงไฟล์bazและbarมีไฟล์asdfผมสามารถจับคู่กับfoo/baz หรือมากยิ่งขึ้นรัดกุม*/baz */b*ถ้าbarว่างเปล่า*/*จะทำงาน งานของคุณ: กำหนดสตริงของเส้นทางที่เป็นตัวแทนของ "ไดเรกทอรีปัจจุบัน" และเส้นทางเป้าหมายเดียวออกสตริงที่สั้นที่สุดที่เป็นไปได้ที่จะขยายไปยังเส้นทางเป้าหมายนั้นหลังจากขยาย * s เส้นทางเป้าหมายสามารถใช้เป็นสตริงของตัวเองเป็นดัชนีในอาร์เรย์ของเส้นทางเป็นรายการแรกในอาร์เรย์ของเส้นทางที่ส่งผ่านหรือวิธีที่สะดวกอื่น ๆ ที่ไม่ได้เข้ารหัสยาก ถามในความคิดเห็นหากไม่แน่ใจ เส้นทางเป้าหมายรับประกันว่าจะมีอยู่ใน "ไดเรกทอรีปัจจุบัน" คุณสามารถสันนิษฐานได้ว่าเส้นทางทั้งหมดมีเพียงตัวอักษรและตัวเลข ASCII (และ/) คุณอาจใช้เป็นเส้นทางอินพุตที่ถูกรูท (เริ่มต้นด้วย/) หรือญาติ (ไม่ได้ขึ้นต้นด้วย/) หากมีความเป็นไปได้สั้น ๆ หลายอย่างเท่ากันให้ส่งคืนสิ่งใดสิ่งหนึ่งหรือทั้งหมด นี่คือ รหัสกอล์ฟไบต์ที่น้อยที่สุดชนะ! กรณีทดสอบขอบคุณเควิน Cruijssen

30
นามสกุลไฟล์คืออะไร?
ความท้าทายของคุณคือการค้นหานามสกุลไฟล์ของชื่อไฟล์ที่ให้: hi.txt -> txt or .txt carrot.meme -> meme or .meme lol (undefined behavior) what..is..this..file -> file or .file .bashrc -> bashrc or .bashrc T00M@n3KaPZ.h0wC[]h -> h0wC[]h or .h0wC[]h agent.000 -> 000 or .000 คุณจะต้องได้รับข้อความจากข้อความสุดท้าย. หรือหลังจากข้อความสุดท้าย.จนถึงตอนท้ายของสตริง การจับคู่กลุ่มแรกของนิพจน์ทั่วไป/\.([^.]+)$/ทำงานได้ดังนั้นจึงแยกอินพุต.และส่งคืนล่าสุด ชื่อไฟล์จะมีอย่างน้อยหนึ่ง.ชื่อ แต่อาจมีหลาย.ชื่อ (ดูตัวอย่าง) ^[.a-zA-Z0-9^!\[\]{}@$%+=]+$การป้อนข้อมูลมักจะตรงกับ
10 code-golf  string 

22
ลบสระโดยไม่ใช้อักขระที่แตกต่างกันมากเกินไป
ความท้าทายคือการลบเสียงสระ (a, e, i, o, u) ออกจากสตริงจาก STDIN (ใช่ฉันรู้ง่าย) คุณสามารถคาดหวังว่าโปรแกรมที่คุณจะไม่ได้วิ่งไปกับข้อโต้แย้งใด ๆ argvใน ตัวอย่าง: This program will remove VOWELS. So we can now speak without them. เปลี่ยนเป็น: Ths prgrm wll rmv VWLS. S w cn nw spk wtht thm. มีการจับ รายการที่ชนะจะตัดสินจากจำนวนไบต์ที่แตกต่างกัน ตัวอย่างเช่นa abมีสามไบต์ที่แตกต่างกัน ( a, bและพื้นที่) หากมีอย่างน้อยสองรายการที่จะมีจำนวนของไบต์ที่แตกต่างกันนี้จะใช้ทางเลือกแทนจำนวนไบต์สำหรับรายการเหล่านั้น

2
เล่นกอล์ฟอาร์เรย์ของฉัน Ada
พื้นหลัง Adaเป็นภาษาการเขียนโปรแกรมที่ไม่รู้จักกันอย่างแพร่หลายในเรื่องความตึง อย่างไรก็ตามอาเรย์ของตัวอักษรอาเรย์สามารถในทางทฤษฎีอนุญาตให้มีข้อกำหนดส นี่คือคำอธิบาย EBNF แบบง่ายของ ไวยากรณ์ตัวอักษรอาร์เรย์ (ผ่านไปยังbottlecaps.de : array ::= positional_array | named_array positional_array ::= expression ',' expression (',' expression)* | expression (',' expression)* ',' 'others' '=>' expression named_array ::= component_association (',' component_association)* component_association ::= discrete_choice_list '=>' expression discrete_choice_list ::= discrete_choice ('|' discrete_choice)* discrete_choice ::= expression ('..' expression)? | …

3
ใช้เวลาพิมพ์นานแค่ไหน?
บทนำ ฉันสามารถพิมพ์ในระดับปานกลางโดยใช้รูปแบบแป้นพิมพ์ QWERTY แต่ถ้าคำเช่นyellowwooddoorมีตัวอักษรซ้ำหลายตันมันจะใช้เวลานานกว่าในการพิมพ์ ยิ่งแย่ไปกว่านั้นคือเมื่อคำเช่น "jump" มีนิ้วเดียวกับที่ใช้สำหรับตัวอักษรที่ต่อเนื่องกันหลายตัว นี่คือระยะเวลาที่ฉันใช้พิมพ์ตัวอักษรบนนิ้วแต่ละนิ้ว (วัดโดยไม่ได้ตามหลักวิทยาศาสตร์): คอลัมน์คือชื่อนิ้ว, การกดแป้น / วินาที, วินาที / การกดแป้นและปุ่มที่ใช้โดยนิ้วแต่ละนิ้ว Typing same letter twice: L Pinky 5.2 0.1923076923 1qaz L Ring 5 0.2 2wsx L Mid 5.3 0.1886792453 3edc L Index 5.5 0.1818181818 4rfv5tgb R Thumb 6.5 0.1538461538 [space] R Index 6.9 0.1449275362 6yhn7ujm …

10
ตรวจสอบว่ากริดมีกริดอื่นหรือไม่
Challenge การ สร้างฟังก์ชั่นใช้สองอาร์เรย์สองมิติของอักขระ (หรือ Strings หากภาษาการเขียนโปรแกรมไม่มีอักขระเป็นประเภทข้อมูล) เป็นอินพุต: a และ b หากภาษาของคุณไม่รองรับอินพุตเหล่านี้คุณสามารถใช้ตัวแปรไบต์เดียวแบบมาตรฐานอื่น ๆ งานของคุณคือการพิจารณาว่าขมี a หรือไม่ หากเป็นเช่นนั้นให้ส่งคืนจริง มิฉะนั้นส่งคืน false กรณีทดสอบตัวอย่าง a: 123 456 789 b: 123 456 789 ควรกลับจริง a: code golf b: thisis code!! golf!! ohyeah ควรกลับจริง a: abcd efgh ijkl b: abcdef ghijkl mnopqr ควรกลับเท็จ a: abc def b: …

13
มีตัวตรวจสอบ tautogram ขนาดเล็กกว่าหรือไม่ [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดเมื่อปีที่แล้ว เมื่อไม่นานมานี้ฉันได้เข้าสู่การเขียนโค้ดกอล์ฟและพยายามเขียนตัวตรวจสอบสัญลักษณ์ขนาดเล็กที่สุด tautogramเป็นประโยคที่ทุกคำที่เริ่มต้นด้วยตัวอักษรเดียวกันตัวอย่างเช่น: ดอกไม้อวดจากฝรั่งเศส ให้ประโยคเป็นอินพุตให้พิจารณาว่าเป็น tautogram หรือไม่ กรณีทดสอบ Flowers flourish from France True This is not a Tautogram False ฉันใช้รหัสหลามนี้ (เพราะเป็นภาษาหลักของฉัน): print(True if len(list(set([x.upper()[0] for x in __import__('sys').argv[1:]]))) == 1 else False) การใช้งาน: python3 tautogram.py Flowers flourish from France # True python3 tautogram.py This is …

24
บิชอป
มาจากสิ่งนี้ลบโพสต์แล้ว ให้สตริงคำตอบ (ความจริง / เท็จหรือค่าที่สอดคล้องกันสองค่า) ถ้ามันถือว่าเป็นรหัสผ่านบิชอปที่ดีซึ่งเป็นเมื่อตรงตามเงื่อนไขต่อไปนี้ทั้งหมด: มันมีอย่างน้อย 10 ตัวอักษร มันมีอย่างน้อย 3 หลัก ( [0-9]) มันไม่ใช่ palindrome (เหมือนกับตัวมันเองเมื่อกลับด้าน) คุณจะได้รับโบนัส 0 ไบต์หากรหัสของคุณเป็นรหัสผ่านบิชอปที่ดี คำเตือน: Do ไม่ใช้ความดีบิชอปเป็นตัวชี้วัดความแข็งแรงของรหัสผ่านที่เกิดขึ้นจริง! ตัวอย่าง รหัสผ่านบิชอปที่ดี PPCG123GCPP PPCG123PPCG PPCG123gcpp 0123456789 Tr0ub4dor&3 รหัสผ่านบิชอปไม่ดี PPCG123 (สั้นเกินไป) correct horse battery staple (ตัวเลขไม่เพียงพอ) PPCG121GCPP (palindrome) (สั้นเกินไปและไม่เพียงพอตัวเลข) abc121cba (สั้นเกินไปและ palindrome) aaaaaaaaaaaa (palindrome และตัวเลขไม่เพียงพอ) abc99cba (ทุกอย่างผิดปกติ)

11
แผนที่ขี้โกง!
หลังจากส่งการมอบหมายทั้งหมดพจนานุกรมจะถูกสร้างขึ้นเพื่อจับคู่หมายเลขนักเรียนกับแฮชของไฟล์ พจนานุกรมหรือ hashmap นี้หรือการจับคู่ (สิ่งที่ภาษาของคุณเรียกว่า) จะมีลักษณะดังนี้: {100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"} กุญแจสำคัญคือหมายเลขนักเรียนและค่าคือแฮช หน้าที่ของเราคือเลือกคนขี้โกง! คนขี้โกงคือคนที่มีแฮชเหมือนกัน ได้รับการป้อนข้อมูลที่{100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"}ฟังก์ชั่นควรกลับ (หรือพิมพ์) ข้อความต่อไปนี้: 100 has identical files to 430 104 has identical files to 332 สังเกตว่าไฟล์ที่แฮชนั้นไม่เหมือนใคร นอกจากนี้คำสั่งซื้อก็มีความสำคัญเช่นกัน: {100: "aabb", 202: "aabb", 303: …

1
Tatamibari แก้ปัญหา
พื้นหลัง Tatamibariเป็นปริศนาตรรกะที่ออกแบบโดย Nikoli ปริศนา Tatamibari +เล่นบนตารางสี่เหลี่ยมที่มีสามชนิดที่แตกต่างกันของสัญลักษณ์ในมัน-, |และ ตัวแก้ปัญหาต้องแบ่งพาร์ติชันของกริดออกเป็นพื้นที่สี่เหลี่ยมหรือสี่เหลี่ยมตามกฎต่อไปนี้ ทุกพาร์ติชันจะต้องมีสัญลักษณ์หนึ่งตัวอยู่ในนั้น +สัญลักษณ์จะต้องมีอยู่ในตาราง |สัญลักษณ์จะต้องอยู่ในรูปสี่เหลี่ยมผืนผ้าที่มีความสูงมากกว่าความกว้าง -สัญลักษณ์จะต้องอยู่ในรูปสี่เหลี่ยมผืนผ้าที่มีความกว้างมากกว่าความสูง สี่ชิ้นอาจไม่เคยแบ่งปันมุมเดียวกัน (นี่คือวิธีการวางกระเบื้องทาทามิญี่ปุ่นโดยปกติ) ต่อไปนี้เป็นตัวอย่างปริศนาที่มีวิธีแก้ไข: งาน แก้ปริศนา Tatamibari ที่ให้มา อินพุตและเอาต์พุต อินพุตเป็นตาราง 2D ที่แสดงถึงตัวต่อ Tatamibari puzzle เซลล์แต่ละคนมีหนึ่งในสี่ตัวอักษร: +, -, |, และตัวอักษรที่คุณเลือกที่จะเป็นตัวแทนเซลล์ที่ไม่ได้เบาะแส ในกรณีทดสอบ*จะใช้เครื่องหมายดอกจัน คุณสามารถเลือกรูปแบบผลลัพธ์ที่เหมาะสมซึ่งสามารถแสดงวิธีแก้ปัญหาที่ถูกต้องกับปริศนา Tatamibari ซึ่งรวมถึง แต่ไม่ จำกัด เฉพาะ: (หากมีข้อสงสัยให้ถามในความคิดเห็น) รายการของ 4-tuples โดยที่แต่ละ tuple จะมีดัชนีด้านบน, ดัชนีด้านซ้าย, ความกว้างและความสูงของสี่เหลี่ยมผืนผ้า (หรือการแสดงที่เทียบเท่ากัน) กริดตัวเลขที่มีรูปร่างเดียวกันกับอินพุตโดยที่แต่ละหมายเลขจะแทนสี่เหลี่ยมผืนผ้า รายการชุดพิกัดที่แต่ละชุดมีพิกัดทั้งหมดของเซลล์ในสี่เหลี่ยมผืนผ้า หากตัวต่อมีหลายทางคุณสามารถส่งออกจำนวนที่ถูกต้อง (หนึ่งหรือมากกว่า) …

15
ค้นหาตัวย่อแบบเรียกซ้ำ
บทนำ recursive ย่อเป็นตัวย่อที่มีหรือหมายถึงตัวเองตัวอย่างเช่น Fishอาจจะเป็น recursive ย่อสำหรับFish is shiny heroแจ้งให้ทราบว่ายังมีตัวย่อของตัวเอง อีกตัวอย่างหนึ่งคือ->Hi Hi iglooหรือแม้กระทั่งppcg paints->ppcg paints cool galaxies pouring acid into night time stars ดังนั้นโดยทั่วไปประโยคเป็นตัวย่อซ้ำถ้าตัวอักษรตัวแรกของแต่ละคำสะกดคำหรือคำแรก ท้าทาย สร้างโปรแกรมที่ใช้สตริงที่มี 1 คำหรือมากกว่าโดยคั่นด้วยอักขระเว้นวรรคและแสดงตัวย่อแบบเรียกซ้ำหรือสตริงว่างถ้ามันเป็นไปไม่ได้ มันเป็นไปไม่ได้ที่จะทำให้ recursive ย่อสำหรับสตริงเช่นตัวอย่างเช่นppcg elephantเพราะคุณจะเริ่มต้นด้วยการpจากppcgนั้นเพิ่มว่าการย่อแล้วการจากe elephantแต่ตอนนี้เรามีความขัดแย้งเนื่องจากตัวย่อสะกดคาถา "pe .. " ซึ่งขัดแย้งกับ "pp .. " hiที่ยังเป็นกรณีที่มีการยกตัวอย่างเช่น คุณจะรับช่วงต่อhจากhiนี้ แต่ตอนนี้ประโยคจบลงแล้วและไม่มีตัวอักษรที่จะสะกดอีกต่อไปhiและเราเหลือแค่คำhที่ไม่ตรงกันhi. (สตริงต้องการจำนวนคำมากกว่าหรือเท่ากับจำนวนตัวอักษรในตัวย่อ) อินพุตและเอาต์พุตไม่คำนึงถึงขนาดตัวพิมพ์ ข้อ จำกัด สิ่งใดก็ตามที่ป้อนเข้าไปในโปรแกรมของคุณจะเป็นคำภาษาอังกฤษที่ถูกต้อง แต่คุณต้องแน่ใจว่าได้ส่งออกคำภาษาอังกฤษที่ถูกต้องเช่นกัน (คุณสามารถใช้ฐานข้อมูลหรือเก็บคำสำหรับตัวอักษร 26 …
10 code-golf  string 

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