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

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

30
ฉัน! n! s! E! R! T! n!! ข! E! T! W! E! E! n!
โพสต์จากที่นี่ ความท้าทายนี้เป็นอย่างมาก "กลั่น" จากนี้คำถาม ขอขอบคุณเป็นพิเศษที่ @Akababa! ในงานนี้คุณควรแทรกเครื่องหมายอัศเจรีย์ที่จุดเริ่มต้นของสตริงและหลังอักขระทุกตัว กฎระเบียบ จะมีอินพุตที่ไม่ใช่สตริงว่างเสมอ อินพุตจะไม่มีแท็บด้วย คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นมีอักขระที่พิมพ์ได้และอักขระขึ้นบรรทัดใหม่ที่ไม่ขยายของ ASCII เท่านั้น ข้อมูลที่ป้อนจะไม่มีบรรทัดขึ้นบรรทัดใหม่ตราบใดที่ภาษาของคุณไม่สามารถตรวจพบบรรทัดใหม่ได้ นี่คือการแข่งขันรหัส - กอล์ฟ คำตอบที่สั้นที่สุดควรชนะ ตัวอย่าง มีการขึ้นบรรทัดใหม่ 4 บรรทัดในเครื่องหมายตกใจ 5 บรรทัด มันยากมากที่จะใส่ข้อความนี้เป็นข้อความมาร์กดาวน์ดังนั้นจึงมีการระบุไว้แทน 1 2 3 4 5 6 129591 129012 129127 129582 0 เอาท์พุท ! 1! ! 2! ! 3! ! 4! ! 5! 6! ! 1! …
24 code-golf  string 

18
PronunciationSort ™
เราทุกคนรู้ถึงอัลกอริธึมการเรียงลำดับแฟนซีที่แตกต่างกัน แต่ไม่มีสิ่งใดที่จะบอกตัวเลขในวิธีที่ง่ายต่อการออกเสียง เพื่อแก้ไขสิ่งนี้ฉันเสนอให้ใช้ PronunciationSort ™วิธีที่เป็นธรรมชาติที่สุดในการเรียงลำดับรายการตัวเลข การออกเสียง กฎอย่างเป็นทางการสำหรับตัวเลขการออกเสียง (ในการท้าทายนี้) คือตัวเลขจะออกเสียงทีละตัวและสตริงผลลัพธ์จะเรียงตามลำดับพจนานุกรม เป็นตัวอย่างซึ่งหมายความว่าตัวเลข845นั้นออกเสียง"eight four five"และควรเรียงตาม ตัวเลขติดลบ ตัวเลขลบจะออกเสียงโดยการเติมคำ"minus"นั้น ดังนั้นจะออกเสียงเป็น-23 "minus two three"โปรดทราบว่าสิ่งนี้ทำให้ตัวเลขติดลบจบลงตรงกลางของเอาต์พุตขวาระหว่างตัวเลขที่ขึ้นต้นด้วย4(สี่) และ9(เก้า) คำแนะนำอย่างเป็นทางการของคำศัพท์สำหรับ PronunciationSort ™คือ: แปด ห้า สี่ ลบ เก้า หนึ่ง เจ็ด หก สาม สอง ศูนย์ นั่นคือ, 8, 5, 4, -, 9, 1, 7, 6, 3, 2, 0 อินพุต รายการจำนวนเต็มในช่วงที่มีองค์ประกอบมากที่สุด 100 รายการ ไม่อนุญาตให้ป้อนข้อมูลเป็นรายการสตริง …

12
สร้างผู้ชายแห่งวัฒนธรรม
ความท้าทายนี้เป็นแรงบันดาลใจมส์ผู้ชายวัฒนธรรม meme เกี่ยวข้องกับการลบส่วนของคำบรรยายต้นฉบับ ฉันเห็นว่าคุณเป็นคนมีวัฒนธรรมด้วย เพื่อให้มันดูราวกับว่าตัวละครกำลังพูดอย่างอื่น ความท้าทายของคุณคือการเขียนโปรแกรมที่ให้อินพุตแสดงให้เห็นว่าประโยคต้นฉบับสามารถถูกทำให้ว่างเปล่าเพื่อให้เกิดสตริงอินพุตได้อย่างไร กฎ: ใช้-ตัวละครเพื่อแทนตัวอักษรที่ถูกทำให้ว่าง คุณต้องไม่เพิ่มตัวอักษรเพิ่มเติมเพื่อให้ได้สายป้อน คุณอาจทำการเปรียบเทียบสตริงเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ คุณอาจไม่สนใจช่องว่างในการเปรียบเทียบสตริง หากไม่สามารถทำการทดแทนได้ให้ส่งออกค่าเท็จ คุณสามารถทดแทนช่องว่างที่ซ้ำซ้อนด้วย a ได้-เช่นกันแม้ว่าจะไม่จำเป็นก็ตาม หากเป็นไปได้หลายวิธีคุณสามารถส่งออกได้ กรณีทดสอบ: ขั้นพื้นฐาน: ตัวอย่าง Meme 1 Ah, I see you're a well. > Ah, I see you're a --- -- ------- -- well. ตัวอย่าง Meme 2 Ah, I see well. > Ah, I see ------ …
24 code-golf  string 

30
คุณต้องสร้างเสา ASCII!
ข้ามการโพสต์จากโพสต์ anagolf ของฉัน (หมายเหตุ: อาจมีสปอยเลอร์, ชันสูตร) เอาท์พุทข้อความต่อไปนี้อย่างแน่นอน คุณอาจมีช่องว่างต่อท้ายเพิ่มเติมในแต่ละบรรทัดและขึ้นบรรทัดใหม่เช่นกัน รหัสที่สั้นที่สุดเป็นไบต์ชนะ !"! "#$#" #$%&%$# $%&'('&%$ %&'()*)('&% &'()*+,+*)('& '()*+,-.-,+*)(' ()*+,-./0/.-,+*)( )*+,-./01210/.-,+*) *+,-./012343210/.-,+* +,-./0123456543210/.-,+ ,-./01234567876543210/.-, -./0123456789:9876543210/.- ./0123456789:;<;:9876543210/. /0123456789:;<=>=<;:9876543210/ 0123456789:;<=>?@?>=<;:9876543210 123456789:;<=>?@ABA@?>=<;:987654321 23456789:;<=>?@ABCDCBA@?>=<;:98765432 3456789:;<=>?@ABCDEFEDCBA@?>=<;:9876543 456789:;<=>?@ABCDEFGHGFEDCBA@?>=<;:987654 56789:;<=>?@ABCDEFGHIJIHGFEDCBA@?>=<;:98765 6789:;<=>?@ABCDEFGHIJKLKJIHGFEDCBA@?>=<;:9876 789:;<=>?@ABCDEFGHIJKLMNMLKJIHGFEDCBA@?>=<;:987 89:;<=>?@ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA@?>=<;:98 9:;<=>?@ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA@?>=<;:9 :;<=>?@ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA@?>=<;: ;<=>?@ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA@?>=<; <=>?@ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA@?>=< =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA@?>= >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?> ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@ ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCB CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDC DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFED EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFE FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGF GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHG HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJI …

30
นับจำนวนตัวอักษรต่อเนื่อง
รับสตริงที่มีตัวอักษรเท่านั้นเอาท์พุทความยาวของการวิ่งที่ยาวที่สุดของตัวอักษรตามลำดับคำที่บรรจุซึ่งคำสั่งไม่สำคัญ อัลกอริทึมตัวอย่างอาจเรียงลำดับคำเอารายการที่ซ้ำกันออกแล้วส่งออกความยาวของการรันที่ยาวที่สุด กรณีทดสอบ watch -> 1 stars -> 3 antidisestablishmentarianism -> 3 backdoor -> 4 a -> 1 tutorials -> 4 ตัวอย่างเช่นมีตัวอักษรantidisestablishmentarianism abdehilmnstrระยะที่ยาวที่สุดคือlmnและrstยาว 3 เท่า หมายเหตุ คุณอาจใช้ตัวพิมพ์เล็กตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กทั้งหมดเป็นอินพุต แต่ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ไม่สามารถเข้ารหัสข้อมูลเกี่ยวกับคำนั้นได้ (เช่นคุณไม่สามารถทำให้nตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่nได้ นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ

3
ใช้การจัดช่องไฟแบบง่าย
บทนำ การจัดช่องไฟหมายถึงการปรับระยะห่างระหว่างตัวอักษรของข้อความ ยกตัวอย่างพิจารณาคำที่Topเขียนด้วยร่ายมนตร์ต่อไปนี้สามอัน: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... เราสามารถเติมช่องว่างระหว่างร่ายมนตร์ด้วยจุดแล้วเติมลงไปได้ แต่ช่องว่างก็ดูกว้างเกินไป แต่เราเลื่อนร่ายมนตร์ไปทางซ้ายเพื่อให้พวกมันสัมผัสเกือบ: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... มันดูดีขึ้นมาก! หมายเหตุวิธีบาร์ของด้านบนของเส้นขอบด้านซ้ายของT oในการท้าทายนี้งานของคุณคือการใช้โปรแกรมการจัดช่องไฟอย่างง่ายสำหรับร่ายมนตร์รูปสี่เหลี่ยมผืนผ้าดังกล่าว กระบวนการจัดช่องไฟ พิจารณาสองสี่เหลี่ยม 2D อาร์เรย์ของตัวอักษร.และ#รูปทรงเดียวกัน ในขั้นตอนการจัดช่องไฟอย่างง่ายของเราอันดับแรกเราวางอาร์เรย์แบบเรียงต่อกันโดยมีคอลัมน์หนึ่งคอลัมน์.อยู่ระหว่างกัน จากนั้นเราย้ายแต่ละรายการ#ในอาเรย์ขวาหนึ่งก้าวไปทางซ้ายจนกระทั่ง#อาเรย์ซ้ายและขวาบางอันอยู่ติดกันแบบมุมฉากหรือแนวทแยงมุม ผลลัพธ์ของการจัดช่องไฟเป็นขั้นตอนก่อนที่เราจะแนะนำ#s ที่อยู่ติดกัน งานของคุณคือการใช้กระบวนการนี้ …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

6
สร้างบันไดให้ฉันหน่อย
บันไดสตริง คำเตือน:นี่เป็นความท้าทายแรกที่ฉันเสนอ ข้อเสนอแนะใด ๆ และทั้งหมดยินดีต้อนรับ หากซ้ำกันโปรดชี้มันออกมา นี่คือลิงค์ไปยังโพสต์แซนด์บ็อกซ์ เป้าหมาย เป้าหมายของการท้าทายนี้คือการกำหนดสตริงและจำนวนเต็มให้พิมพ์สตริงลงในบล็อกที่มีขนาดเป็นจำนวนเต็ม หากคำมีอักขระมากกว่าขนาดของบล็อกให้พิมพ์เป็นรูปแบบ "ขั้นบันได" จากมากไปน้อย กฎระเบียบ "รูปแบบบันได" ที่กล่าวถึงข้างต้นหมายความว่าสำหรับทุกบล็อกของคำเดียวกันบล็อกนั้นจะต้องเริ่มต้นตรงที่บล็อกข้างบนนั้นสิ้นสุด ตรวจสอบกรณีทดสอบ (หรือถาม) หากคุณมีคำถามใด ๆ หากคำแตกในหลายบล็อกคำต่อไปนี้จะต้องพิมพ์ด้วยจำนวนช่องว่างที่เพียงพอนั่นคือมันจะต้องแยกออกจากบล็อกต่ำสุดของคำก่อนหน้านี้โดยช่องว่างเดียว ตรวจสอบกรณีทดสอบ (หรือถาม) เพื่อชี้แจง คุณสามารถสมมติว่าสตริงอินพุตจะประกอบด้วยอักขระ ASCII ที่พิมพ์ได้เท่านั้น นอกจากนี้จะไม่มีช่องว่างหลายช่องติดกัน คุณสามารถสันนิษฐานได้ว่าจำนวนเต็มจะอยู่ในช่วง [1, + ∞) เสมอ อนุญาตให้เว้นวรรคช่องว่างหรือขึ้นบรรทัดใหม่ คุณสามารถใช้วิธีการที่เหมาะสมสำหรับ I / O มาตรฐานช่องโหว่ใช้ นี่คือรหัส - กอล์ฟดังนั้นจึงเป็นรหัสที่สั้นที่สุด (เป็นไบต์ต่อภาษา) หลังจากหนึ่งสัปดาห์ (หรือมากกว่านั้น) ฉันจะยอมรับคำตอบที่สั้นที่สุดโดยรวม กรณีทดสอบ (String, Integer) => (Output) …
24 code-golf  string 

30
ค้นหาคำที่ยาวที่สุดในอาเรย์
ความท้าทายของคุณคือการใช้อาร์เรย์ของสตริงและส่งออกสตริงที่ยาวที่สุดในอาร์เรย์ ดังนั้นสำหรับ ["tiny", "small", "bigger", "biggest"] biggestการส่งออกจะเป็น หากสององค์ประกอบของอาร์เรย์มีความยาวเท่ากันคุณควรเลือกองค์ประกอบที่ปรากฏขึ้นเป็นลำดับแรกในอาร์เรย์ นั่นหมายความว่าถ้าอาร์เรย์มีลักษณะดังนี้: ["one", "two", "no"] ผลลัพธ์คือoneแต่ถ้าอาร์เรย์มีลักษณะเช่นนี้: ["two", "one", "no"] twoผลลัพธ์คือ เช่นนี้คือcode-golfรหัสที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ

14
แยกวิเคราะห์พัสดุ
ด้วยความช่วยเหลือของคุณในการทำเครื่องหมายท้าทายอีเมลของฉัน PPCG-Post ได้ทำการประทับตราพัสดุทั้งหมดด้วยบาร์โค้ดที่สร้างเสร็จเรียบร้อยแล้ว! ตอนนี้ถึงเวลาถอดรหัสพวกมันแล้ว ในการท้าทายนี้โปรแกรมของคุณจะได้รับบาร์โค้ดที่สร้างจากMark My Mailความท้าทาย , ถอดรหัสและคืนค่าจำนวนเต็มที่เข้ารหัส แต่ระวัง! บาร์โค้ดอาจคว่ำลง ... บาร์โค้ด 4 สถานะ ในกรณีที่คุณพลาดการท้าทายการเข้ารหัสคุณจะต้องรู้ว่าบาร์โค้ดประเภทใดที่เรากำลังพูดถึง บาร์โค้ด 4 สถานะคือแถวของแท่งที่มีสี่สถานะที่เป็นไปได้แต่ละอันแสดงจำนวนเต็มฐาน 4: | | Bar: | | | | | | Digit: 0 1 2 3 แสดงผลใน ASCII บาร์โค้ดจะใช้ข้อความสามบรรทัดโดยใช้|อักขระpipe ( ) เพื่อแสดงส่วนหนึ่งของบาร์และเว้นวรรค ( ) เพื่อแสดงส่วนที่ว่างเปล่า จะมีช่องว่างเดียวในแต่ละแถบ บาร์โค้ดตัวอย่างอาจมีลักษณะเช่นนี้: | | | | | …

6
Gif - Jif, Jif - Gif
ถูกขโมยจาก @Downgoat โดยได้รับอนุญาต ประเด็นของความท้าทายนี้คือ (ไม่) ยุติการโต้วาทีในการออกเสียง "gif" " การออกเสียงgifนั้นถูกถกเถียงกันและในขณะที่มันควรจะเป็น (และควรจะเป็น) ออกเสียงjifแต่ก็ยังคงเป็นที่ถกเถียงกันอยู่ทั่วไป ในการท้าทายนี้คุณจะได้รับชุดคำที่มีgหรือjซึ่งแสดงถึงคำที่ออกเสียงด้วย นอกจากนี้คุณยังจะได้รับข้อความบางส่วนในการที่คุณมีการแก้ไขการสะกดไม่ถูกต้องของGIF เพราะนี่คืออินเทอร์เน็ตและทุกคนผิดเสมอ มันไม่ใช่มารยาททั่วไปที่จะแก้ไขให้ถูกต้อง ตัวอย่างของการออกเสียงผิด: มีความเป็นGIFเมาส์กินเบอร์ริโต การสะกดผิดของGIF ? ยอมรับไม่ได้! สิ่งนี้จะต้องได้รับการแก้ไขทันที: มีjif (เหมือนในกระปุก)ของเมาส์ที่กินเบอร์ริโต เราเสร็จแล้วหรือ ไม่คุณยังคงผิด คุณผิดเสมอ สิ่งนี้จะต้องใช้วิธีอื่น: ในjifแมวสวมหมวกแมว การสะกดผิดที่ชัดเจนนี้ต้องได้รับการแก้ไขเราจะแก้ไขสิ่งนี้เป็น: ในgif (ตามภาพ)แมวสวมหมวกแมว กฎระเบียบ อินพุตเป็นสตริง (ประโยค) และอาร์เรย์ของสตริง (หรือทางเลือกอื่นที่เหมาะสมเช่นสตริงคั่นด้วยเครื่องหมายจุลภาค) ในลำดับใดก็ได้ คุณสามารถรับgและjคำในลำดับใดก็ได้ พวกเขาอาจจะแยกกัน ทุกกรณีของgif(กรณีใด ๆ ) ในประโยคต้องถูกแทนที่ด้วยjif (as in ___)ที่___เป็นคำที่เลือกสุ่มเหมือนกันเริ่มต้นด้วยj จากอาร์เรย์ของสตริงและในทางกลับกันสำหรับการที่มีคำขึ้นต้นด้วยjifg เฉพาะคำgifและjifควรถูกแทนที่ (เช่น "jiffy" …
24 code-golf  string 

10
แปลงคำตอบ TIO เป็นคำตอบ CMC
มาทำสิ่งที่มีประโยชน์กันเถอะ รับข้อความจากการส่ง codegolf ของ Try It Online สร้างการส่ง Chat Chat Challenge ที่เทียบเท่าซึ่งเป็นรูปแบบ Language, N bytes: [`code`](URL) หรือ (หากการส่งเป็นไบต์เดียว - TIO จะเพิ่มการติดตามในบรรทัดแรกเฉพาะในกรณีที่จำเป็น) Language, 1 byte: [`code`](URL) คุณอาจคิดว่าการส่ง มีเพียงหนึ่งบรรทัด ไม่มี backticks ( `) ไม่มีช่องว่างชั้นนำ มีรูปแบบปกติเช่นในตัวอย่างด้านล่าง บรรทัดโค้ดมีการเว้นวรรคสี่ช่องว่าง ( ) ไม่ใช่แท็ก HTML ( <pre><code>... </code></pre>) คือไม่มีช่องว่างต่อท้าย โปรดทราบว่าการส่งอาจมีแท็กเน้นไวยากรณ์ ดูตัวอย่างล่าสุด …url "Language - Try It Online"คุณอาจเลือกที่จะรวมถึงข้อความชื่อคือ …

10
การเคลื่อนไหวของหุ่นยนต์ที่มีประสิทธิภาพ
การปฏิเสธความรับผิดชอบ: เรื่องราวที่บอกไว้ในคำถามนี้เป็นเรื่องสมมติทั้งหมดและคิดค้นขึ้นเพื่อวัตถุประสงค์ในการให้คำแนะนำ เจ้านายของฉันได้รับหุ่นยนต์ของเล่นตัวใหม่และเขาต้องการให้ฉันช่วยเขียนโปรแกรม เขาต้องการที่จะป้อนคำแนะนำลูกศรง่าย ๆ เพื่อให้มันเคลื่อนที่ คำแนะนำเหล่านี้คือ: ^ (สำหรับก้าวไปข้างหน้า) <(สำหรับเลี้ยวซ้าย) และ> (สำหรับเลี้ยวขวา) อย่างไรก็ตามตอนนี้ฉันได้ตั้งโปรแกรมหุ่นยนต์แล้วเขาต้องการฟังก์ชั่นเพิ่มเติม เขาต้องการให้ฉันเปลี่ยนลูกศรลำดับใด ๆ ที่เขาป้อนดังนั้นแทนที่จะให้หุ่นยนต์ไปตามเส้นทางที่ระบุมันจะย้ายไปยังตำแหน่งที่ต้องการโดยระบุสถานที่ที่มันจะจบลงถ้ามันใช้เส้นทางอินพุตอย่างมีประสิทธิภาพเช่นเดียวกับ เป็นไปได้ ฉันขอร้องคุณสมาชิกของ PP&CG ที่จะช่วยฉันทำงานนี้ งานของคุณ: เขียนโปรแกรมหรือฟังก์ชั่นเพื่อแปลงสตริงที่ประกอบด้วยลูกศรเป็นสตริงที่จะไปยังตำแหน่งที่ระบุโดยอินพุตโดยเร็วที่สุด การเลี้ยวใช้เวลาตราบเท่าที่เคลื่อนที่ไปข้างหน้าหรือข้างหลัง การป้อนข้อมูล: สตริงลูกศรตามที่ระบุไว้ข้างต้น หากคุณต้องการตัวละครที่แตกต่างกันอาจถูกแทนที่ด้วยลูกศร แต่ต้องแน่ใจว่าได้รวมความจริงที่คุณทำไว้ในคำตอบของคุณ กรณีทดสอบทั้งหมดใช้ลูกศรตามปกติ เอาท์พุท: สตริงของลูกศร (หรืออักขระที่เทียบเท่ากัน) ที่นำหุ่นยนต์ไปยังปลายทางที่ต้องการอย่างมีประสิทธิภาพที่สุด กรณีทดสอบ: โปรดทราบว่าโซลูชันที่นำเสนอเป็นเพียงความเป็นไปได้และโซลูชันอื่น ๆ อาจใช้ได้ >^<<^^>^^ -> ^^<^ ^^^^>^^^^ -> ^^^^>^^^^ >>>^^^^^^ -> <^^^^^^ >^>^>^>^ -> (empty string) ^<^^<^^<^^^^ …

3
ยอดคงเหลือของวงเล็บ
วัตถุประสงค์ของคุณ: กำหนดสตริงของวงเล็บให้ส่งค่าระยะทางต่ำสุดของDamerau-Levenshteinเพื่อเปลี่ยนสตริงอินพุตให้เป็นสตริงที่วงเล็บมีความสมดุล อินพุต สตริงอินพุตจะมีเครื่องหมายวงเล็บเท่านั้นและไม่มีอักขระอื่น ๆ นั่นคือมันคือการรวมกันใด ๆ (){}[]<>ของตัวละครใน คุณสามารถรับอินพุตเป็นสตริงหรืออาร์เรย์ของอักขระได้ คุณไม่สามารถทำการตั้งสมมติฐานอื่น ๆ เกี่ยวกับสายป้อนได้ มันอาจจะยาวโดยพลการ (ขึ้นอยู่กับขนาดสูงสุดที่รองรับโดยภาษาของคุณ) มันอาจจะว่างเปล่าวงเล็บอาจมีความสมดุลอยู่แล้วเป็นต้น ระยะทาง Damerau-Levenshtein ระยะทาง Damerau-Levenshtein ระหว่างสองสายคือจำนวนขั้นต่ำของการแทรกการลบการแทนที่อักขระเดี่ยวและการสลับ (การสลับ) ของอักขระสองตัวที่อยู่ติดกัน เอาท์พุต เอาต์พุตควรเป็นระยะทางต่ำสุดของ Damerau-Levenshtein ระหว่างสตริงอินพุตและสตริงที่ตรงกับเครื่องหมายวงเล็บ เอาต์พุตควรเป็นตัวเลขไม่ใช่สตริงที่สมดุล เครื่องหมายวงเล็บคู่หนึ่งถือว่าเป็น "จับคู่" หากวงเล็บเปิดและปิดอยู่ในลำดับที่ถูกต้องและไม่มีอักขระอยู่ภายในเช่น () []{} หรือถ้าทุกองค์ประกอบย่อยที่อยู่ภายในนั้นถูกจับคู่ด้วย [()()()()] {<[]>} (()()) องค์ประกอบย่อยยังสามารถซ้อนกันหลายชั้นลึก [(){<><>[()]}<>()] <[{((()))}]> (ขอบคุณ @DJMcMayhem สำหรับคำจำกัดความ) กรณีทดสอบ Input Possible Balanced Output Empty Empty 0 …

10
ลิลลี่แพดกระโดด
ในการท้าทายนี้คุณต้องจำลองการกระโดดกบไปมาบนแผ่นลิลลี่ บ่อน้ำนั้นมีขนาดใหญ่อนันต์มีเส้นของแผ่นลิลลี่จำนวนไม่ จำกัด และกบสามารถกระโดดข้ามแผ่นลิลลี่ได้มากเท่าที่เขาชอบ กบตัวนี้ชอบที่จะกระโดดไปมา: หลังจากกระโดดไปข้างหน้าเขาจะกระโดดไปข้างหลังเสมอและในทางกลับกัน คุณผ่านรายการจำนวนเต็มซึ่งแสดงถึงการข้ามของเขา คุณต้องแสดงผลลัพธ์ของการข้ามของเขา ตัวอย่างเช่นสมมติว่าคุณผ่าน[2,3,6,8,2]: กบของเราเริ่มต้นด้วยการกระโดดแผ่นลิลลี่ 2 แผ่นไปข้างหน้า: _2 จากนั้น 3 แผ่นลิลลี่กลับ: 3__2 จากนั้นไปข้างหน้า 6 แผ่นลิลลี่: 3__2__6 8 หลัง: 8_3__2__6 จากนั้นในที่สุดดอกลิลลี่ 2 แผ่นจะไปข้างหน้า (สังเกตว่า 2 เขียนทับ 3): 8_2__2__6 หากต้องการให้ชัดเจนยิ่งขึ้น: ข้อมูลที่คุณป้อนเข้ามาเป็นจำนวนตัวเลขSคุณต้องแสดงผลลัพธ์S[K]ที่ตำแหน่งS[K] - S[K-1] + S[K-2] - S[K-3]...นั้น หากต้องพิมพ์หลายหมายเลขในบางตำแหน่งให้พิมพ์เฉพาะตัวเลขที่มีดัชนีสูงสุดเท่านั้น คุณจะต้องใช้_หากสถานที่ตั้งว่าง หากตัวเลขมีหลายหลักตัวเลขจะไม่ใช้หลายตำแหน่ง (กล่าวอีกนัยหนึ่งสถานที่ตั้งอาจประกอบด้วยอักขระหลายตัว) คุณสามารถสมมติว่ารายการของคุณไม่ว่างเปล่าและจำนวนเต็มทั้งหมดมากกว่า 0 กรณีทดสอบ: 5 ____5 2,2 …
24 code-golf  string 

2
เขียน tokeniser ของเหตุการณ์
พื้นหลัง เหตุการณ์เป็นภาษาการเขียนโปรแกรมที่ค่อนข้างแปลกในรายการของโทเค็นไม่ได้กำหนดไว้ล่วงหน้า แต่อนุมานจากอินพุต ดังนั้นการโทเค็นโปรแกรมเหตุการณ์อาจค่อนข้างยากโดยเฉพาะอย่างยิ่งถ้าคุณต้องการทำอย่างมีประสิทธิภาพ งานนี้เกี่ยวกับการทำด้วยตัวเอง งาน โปรแกรมของคุณจะได้รับสตริงเป็นอินพุต นี่คืออัลกอริทึมที่เหตุการณ์ใช้เพื่อทำเครื่องหมาย: ระบุสตริงทั้งหมดที่เกิดขึ้นเป็นสตริงย่อยของอินพุตในสามวิธีอย่างแน่นอน (เช่นมีสตริงที่เกิดขึ้นสามครั้งภายในอินพุต) ยกเลิกสตริงใด ๆ ที่เป็นสตริงย่อยของสตริงอื่น (เช่นสำหรับอินพุตabababสตริงที่เหลือเท่านั้นจะabไม่ใช่aหรือbเพราะaและbเป็นสตริงย่อยของทั้งสองab) ยกเลิกสตริงใด ๆ ที่ทับซ้อนกันภายในอินพุต (ยกตัวอย่างเช่นaaaaมีเพียงแค่สามเล่มaaแต่สำเนาเหล่านี้ทับซ้อนกันที่ตัวละครสองและสามนั้นจะถูกยกเลิก. ในทำนองเดียวกันในabababaมีสามสำเนาabและสามสำเนาของbaแต่สองตัวละครที่หกแต่ละที่ ทับซ้อนของabและbaดังนั้นทั้งสองabและbaจะถูกทิ้ง) สตริงใด ๆ ที่ยังคงอยู่ ณ จุดนี้เป็นโทเค็นที่ใช้โดยโปรแกรม โทเค็นอินพุตต้นฉบับเป็นลำดับโทเค็นเหล่านี้ (เนื่องจากการละทิ้งในขั้นตอนก่อนหน้าจะมีเพียงวิธีเดียวเท่านั้นที่ทำได้) อักขระใด ๆ ในอินพุตที่ไม่ได้เป็นส่วนหนึ่งของโทเค็นจะถือว่าเป็นความคิดเห็นและถูกละทิ้ง โปรแกรมของคุณจะต้องใช้สตริงเป็นอินพุตและส่งกลับโทเค็นที่สอดคล้องกันของสตริง (รายการโทเค็นซึ่งแต่ละรายการจะแสดงเป็นสตริง) เป็นเอาต์พุต นอกจากนี้สิ่งนี้จะต้องทำอย่างน้อยในระดับปานกลางอย่างมีประสิทธิภาพ โดยเฉพาะโปรแกรมจะต้องทำงานในเวลากำลังสอง ("O (n²)") หรือดีกว่า (บังเอิญมันเป็นไปได้ที่จะเร็วกว่าสมการกำลังสอง แต่นี่ไม่ใช่อัลกอริธึมที่เร็วที่สุดดังนั้นอย่าลังเลที่จะใช้อัลกอริธึมที่ยากที่สุดที่คุณจะพบว่าเหมาะกับขอบเขตความซับซ้อน) ชี้แจง แม้ว่าในทางทฤษฎีแล้วโปรแกรมสามารถมี 256 octets ใด ๆ ก็ตามมันเป็นที่ยอมรับได้สำหรับวัตถุประสงค์ของการท้าทายนี้สำหรับโปรแกรมของคุณที่จะจัดการเฉพาะอินพุตที่เกิดขึ้นจาก ASCII ที่พิมพ์ได้ (รวมถึงช่องว่าง) …

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