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

ในสตริงที่สมดุลคู่อักขระหรือสตริงย่อยบางคู่จะปรากฏในจำนวนเท่ากันเสมอ บ่อยครั้งที่มีข้อ จำกัด เพิ่มเติมที่คู่เหล่านั้นจะต้องมีการสั่งซื้อ ตัวอย่างที่พบบ่อยที่สุดคือสตริงวงเล็บที่ถูกต้อง ดูเพิ่มเติมที่ [palindrome] และแท็ก [ไวยากรณ์]

4
รหัสคำอธิบายตัวจัดรูปแบบ
การส่งรหัสกอล์ฟที่ประสบความสำเร็จนั้นเป็นไปตามธรรมชาติที่เต็มไปด้วยสัญลักษณ์บ้า ๆ ทั่วทุกแห่ง เพื่อให้เข้าใจง่ายยิ่งขึ้นนักกอล์ฟหลายคนเลือกที่จะรวมคำอธิบายเกี่ยวกับรหัสของตนไว้ด้วย ในคำอธิบายของพวกเขาบรรทัดของรหัสจะกลายเป็นแผนภาพระเบิดในแนวตั้ง ตัวอย่างเช่นหากนี่เป็นรหัสของฉัน: 1_'[3:~2@+]` หนึ่งในไดอะแกรมที่เป็นไปได้มากมายที่ฉันสามารถสร้างได้จะเป็นดังนี้: 1 _' [ ] [3: ] [ ~ ] [ 2@ ] [ +] ` เป้าหมาย ในความท้าทายนี้คุณจะเขียนคำอธิบายเครื่องมือการจัดรูปแบบอัตโนมัติซึ่งใช้บรรทัดของรหัสและสร้างไดอะแกรมที่สามารถเพิ่มข้อความอธิบายได้อย่างง่ายดาย เพื่อที่จะทำให้สิ่งนี้เป็นความท้าทายที่มีประโยชน์มากขึ้นผู้ใช้จะสามารถระบุเนื้อหาของแต่ละบรรทัดได้โดยการจัดเตรียมสตริงการจัดรูปแบบ สตริงการจัดรูปแบบจะเป็นบรรทัดที่สองที่มีตัวอักษรเท่านั้นA-Za-zซึ่งมีความยาวเท่ากับโปรแกรม ตัวอักษรแสดงลำดับที่ตัวอักษรของโปรแกรมควรพิมพ์ในคำอธิบาย นี่คือตัวอย่างของ I / O โดยไม่มีการจัดรูปแบบเหมือนวงเล็บ : 123423 AabcBC 1 2 3 2 3 4 วงเล็บ หากมีอักขระมากกว่าหนึ่งตัวในโปรแกรมที่มีระดับความสำคัญเท่ากันชุดของอักขระนั้นจะทำหน้าที่เป็นบล็อกเดียวของโค้ด (หากเป็นกลุ่ม) หรือชุดของวงเล็บ (หากมีอักขระอื่นอยู่ระหว่าง) กฎทั่วไปนั้นง่าย: อักขระจะไม่ปรากฏในบรรทัดของไดอะแกรมจนกว่าอักขระอื่น ๆ …

9
B U ฉันลิตรแดนอีที
ความท้าทายนั้นง่ายมาก: เขียนโปรแกรมหรือฟังก์ชั่นที่เมื่อได้รับจำนวนเต็มไม่เป็นลบ จำกัด จะส่งออกอาร์เรย์ที่ซ้อนกัน กฎระเบียบ รหัสของคุณจะต้องผลิตที่ไม่ซ้ำกันอาร์เรย์ที่ซ้อนกันที่ถูกต้องสำหรับทุกจำนวนเต็ม 0 ≤ n <2 วันที่ 31 ทุกอาร์เรย์ที่ซ้อนกันเป็นไปได้ที่มีถึง 16 วงเล็บเปิดจะต้องออกมาในช่วงนี้ (นี่ไม่ได้หมายความว่ารหัสของคุณจะไม่สามารถส่งออกอาร์เรย์ที่ซ้อนกันที่มีวงเล็บเปิดมากกว่า 16 ตัว) รหัสของคุณอาจแสดงการแทนค่าสตริงของอาร์เรย์ที่ซ้อนกันแทนที่จะเป็นอาร์เรย์จริง (โดยมีหรือไม่มีเครื่องหมายจุลภาค) การแมปหนึ่งที่เป็นไปได้: 0 -> [] 1 -> [[]] 2 -> [[[]]] 3 -> [[], []] 4 -> [[[[]]]] 5 -> [[[], []]] 6 -> [[[]], []] 7 -> [[], [[]]] 8 …

8
เปราะบาง Quine
เปราะบาง Quine Quine ที่เปราะบางเป็นควินที่ตอบสนองต่อคุณสมบัติของการมีสตริงย่อยแต่ละอันโดยการลบอักขระเดียวเมื่อประเมินแล้วจะเกิดข้อผิดพลาด ตัวอย่างเช่น. หากโปรแกรมของคุณasdfเป็นแบบ quine หากโปรแกรมนั้นมีความเปราะบางโปรแกรมต่อไปนี้จะต้องเกิดข้อผิดพลาด: sdf adf asf asd โปรแกรมของคุณ (และสตริงย่อยทั้งหมด) จะต้องกำหนดอย่างเต็มที่และต้องเป็นภาษาเดียวกัน โปรแกรมที่เข้าสู่วงวนไม่สิ้นสุด (นั่นคือล้มเหลวในการยกเลิก) แม้ว่าจะไม่ได้ผลิตข้อผิดพลาดในที่สุดก็ถือเป็น "ผลิตข้อผิดพลาด" สำหรับวัตถุประสงค์ของการท้าทายนี้ มีช่องโหว่มาตรฐานที่ใช้รวมถึงข้อ จำกัด quine ปกติ (เช่นไม่สามารถอ่านซอร์สโค้ดของตัวเอง) ตัวอย่างเช่นprint("foo")ไม่บอบบาง สตริงย่อยทั้งหมดเหล่านี้ต้องมีข้อผิดพลาด: rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" สิ่งที่ไม่ผิดพลาดคือ: print("oo") print("fo") print("fo") ดังนั้นจึงไม่บอบบาง หมายเหตุสำคัญเกี่ยวกับการทดสอบ ด้วยความเห็นพ้องต้องกันว่าควินินที่เป็นไปได้จะต้องตอบสนองสิ่งนี้: จะต้องสามารถระบุส่วนของโปรแกรมที่เข้ารหัสส่วนต่าง ๆ ของโปรแกรม ("แตกต่าง" …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

17
เบอร์ Motzkin
หมายเลข Motzkin ที่ n คือจำนวนเส้นทางจาก (0, 0) ถึง (n, 0) โดยที่แต่ละขั้นตอนเป็นรูปแบบ (1, -1), (1, 0) หรือ (1, 1) และเส้นทาง ไม่เคยต่ำกว่า y = 0 นี่คือภาพประกอบของเส้นทางเหล่านี้สำหรับ n = 1, 2, 3, 4, จากลิงค์ด้านบน: ลำดับที่ต้องการเป็นOEIS A001006 OEIS มีลักษณะของลำดับอื่น ๆ คุณจะได้รับจำนวนเต็มบวก n เป็นอินพุต คุณควรส่งออกหมายเลข Motzkin ที่ n นี่คือหมายเลข Motzkin 1 ถึง 10: 1, 2, …

9
วงเล็บประสาน
เขียนโปรแกรมหรือฟังก์ชั่นที่รับสายอักขระแปดไบต์ที่ประกอบด้วยอักขระตัว()[]{}<>ใดตัวหนึ่งที่จัดเรียงในลักษณะใด ๆ ซึ่งประเภทวงเล็บทั้งสี่นั้นตรงกัน ตัวอย่างเช่น]<([){}>เป็นอินพุตที่ไม่ถูกต้องเนื่องจากวงเล็บเหลี่ยมไม่ตรงกัน พิมพ์หรือกลับจำนวนเต็มจาก0การ6ระบุว่าวิธีการที่หลายหกจับคู่ที่เป็นไปได้ในสี่ประเภทตัวยึดประสาน คู่ของประเภท Bracket จะถือว่ามีการเชื่อมต่อกันหากมีวงเล็บหนึ่งอันของประเภทหนึ่งเกิดขึ้นระหว่างวงเล็บของประเภทอื่น ดังนั้น([)]และ[(])มีการเชื่อมต่อกัน แต่()[], [](), ([])และ[()]ไม่ได้ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่างอินพุต / เอาท์พุต ()[]{}<> : 0 ([{<>}]) : 0 <>{[]}() : 0 {<>([])} : 0 <(>)[{}] : 1 <[({)}]> : 1 [{<}]>() : 2 {<>([}]) : 2 <{(>})[] : 3 [(]<){>} : 3 <([>{)}] : 4 (<{[>})] …

10
วงเล็บเป็นเชิงอรรถ
พื้นหลัง โปรแกรมเมอร์ LISP ได้ยึดครองโลก! วงเล็บถูกประกาศเป็นอักขระศักดิ์สิทธิ์และจากนี้ไปสามารถใช้ในโปรแกรม LISP เท่านั้น มีการตัดสินใจแล้วว่าวงเล็บในงานวรรณกรรมจะถูกแทนที่ด้วยเชิงอรรถและเป็นงานของคุณที่จะทำให้สิ่งนี้เป็นข้อความ Markdown ที่ง่ายขึ้น อินพุต ข้อมูลของคุณมีสายเดียวที่มีตัวอักษร ASCII ,.!?()ช่องว่างและอักขระพิเศษ มันจะไม่มีการขึ้นบรรทัดใหม่หรือตัวเลข วงเล็บจะถูกจับคู่อย่างถูกต้อง เอาท์พุต คุณจะแปลงวงเล็บที่จับคู่แต่ละคู่ในสตริงอินพุตให้เป็นเชิงอรรถ สิ่งนี้เกิดขึ้นดังนี้: แทนที่คู่จับคู่แรกของวงเล็บและย่อยระหว่างพวกเขาเป็นจำนวนมากโดยการทำงานที่เริ่มต้นจาก1ห่อระหว่างแท็ก Markdown และ<sup></sup> ต่อท้ายส่วนท้ายของสตริง สองบรรทัดใหม่ แท็ก Markdown <sub>, หมายเลขจากขั้นตอนที่ 1 พื้นที่ สตริงย่อยระหว่างวงเล็บและ แท็กปิด</sub>ตามลำดับนี้ หากยังมีวงเล็บอยู่ในสตริงให้ไปที่ขั้นตอนที่ 1 เอาต์พุตของคุณคือสตริงผลลัพธ์ซึ่งอาจมีการขึ้นบรรทัดใหม่ คุณไม่ต้องใช้อัลกอริทึมที่แน่นอนนี้ตราบใดที่ผลลัพธ์ของคุณถูกต้อง โปรดทราบว่าอาจมีวงเล็บซ้อนกันอยู่ ในกรณีนี้เราจะมีเชิงอรรถที่มีการอ้างอิงถึงเชิงอรรถอื่น ๆ ซับสตริงระหว่างวงเล็บอาจว่างเปล่า ดูกรณีทดสอบด้านล่างสำหรับตัวอย่าง กฎและเกณฑ์การให้คะแนน คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต ถ้าภาษาของคุณไม่สนับสนุน natively ตัวเลขทศนิยม ( ไอ Retina …

30
Mirage ของคนฉลาด
กาลครั้งหนึ่งฉันได้อ่านคำถาม / คำตอบนี้เกี่ยวกับ Quora มีโปรแกรมเมอร์ที่มีองศาวิทยาศาสตร์คอมพิวเตอร์ซึ่งไม่สามารถผ่านการทดสอบ FizzBuzz ได้หรือไม่ รหัสนี้เป็นคำตอบที่ชัดเจน for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i แน่นอนว่าFizzBuzzได้รับการตีกอล์ฟให้ตาย แต่นั่นไม่ใช่สิ่งที่คำถามนี้เกี่ยวกับ ในความเห็นมีคนพูดว่าคำตอบที่ชัดเจนนี้ดีมากเพราะมันง่ายที่จะเพิ่มเงื่อนไขพิเศษเช่นพิมพ์ "Jazz" …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

26
ตัวเลขไบนารีที่แยกไม่ออก
หากคุณแสดงจำนวนเต็มบวกบางส่วนในไบนารีโดยไม่มีเลขศูนย์นำหน้าและแทนที่ทุกค่า1ด้วย a (และทุก ๆ0ด้วย a )แล้ววงเล็บทั้งหมดจะตรงกันหรือไม่ ในกรณีส่วนใหญ่พวกเขาจะไม่ ตัวอย่างเช่น 9 อยู่1001ในไบนารีซึ่งกลายเป็น())(โดยที่วงเล็บสองรายการแรกเท่านั้นที่ตรงกัน แต่บางครั้งพวกเขาจะจับคู่ ตัวอย่างเช่น 44 อยู่101100ในรูปของเลขฐานสองซึ่งกลายเป็น()(())โดยที่วงเล็บซ้ายทั้งหมดมีวงเล็บขวาตรงกัน เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้จำนวนเต็มฐานสิบจำนวนเต็มบวกและพิมพ์หรือส่งกลับค่าความจริงหากเวอร์ชันไบนารี - วงเล็บของตัวเลขนั้นมีวงเล็บที่ตรงกันทั้งหมด ถ้ามันไม่ได้พิมพ์หรือกลับfalsyค่า รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ลำดับ OEIS ที่เกี่ยวข้อง ตัวอย่างความจริงต่ำกว่า 100: 2, 10, 12, 42, 44, 50, 52, 56 ตัวอย่างเท็จต่ำกว่า 100: 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, …

5
ฟองวงเล็บ!
มีอยู่ไม่กี่คำถามในเว็บไซต์นี้เกี่ยวกับความสมดุลวงเล็บและตรวจสอบว่าวงเล็บมีความสมดุล ฉันเสนอเวลาที่จะใช้วงเล็บที่สมดุลเหล่านี้สำหรับบางสิ่ง! ในคณิตศาสตร์และการเขียนโปรแกรมวงเล็บเป็นเหมือนฟองสบู่การแยกทุกอย่างออกจากกันในรูปแบบภายนอกเพื่อให้สิ่งที่อยู่ภายในสามารถทำสิ่งต่าง ๆ ได้โดยสันติ อย่างไรก็ตามสตริงของวงเล็บเป็นหนึ่งมิติในขณะที่ฟองอากาศมักจะมีอย่างน้อยสองมิติ นั่นหมายความว่าฟองอากาศสามารถเคลื่อนที่ไปมาได้อย่างอิสระตราบใดที่พวกเขาไม่เคยสัมผัสกันหรือข้ามระหว่างด้านในและด้านนอกของฟองอื่น ๆ ท้าทาย การป้อนข้อมูลที่เป็นสตริงของวงเล็บตรงกันชนิดเดียวทั้งรอบ(), ตาราง[]หยิกหรือมุม{} <>มันขึ้นอยู่กับคุณว่าคุณต้องการให้โปรแกรมของคุณรับและโปรแกรมที่ยอมรับเฉพาะวงเล็บชนิดเดียวเท่านั้น (โบนัสจินตภาพหากโปรแกรมของคุณสามารถจัดการกับพวกเขาใด ๆ คะแนนโบนัสขนาดใหญ่ในจินตนาการถ้ามันสามารถจัดการกับพวกเขาทั้งหมดในการป้อนข้อมูลเดียวกัน.) การป้อนข้อมูลไม่สามารถมีอะไรระหว่างวงเล็บแม้จะอนุญาต whitespaces ต่อท้าย เอาต์พุตคือการจัดระเบียบใหม่ที่เป็นไปได้ทั้งหมด (ตามลำดับโดยพลการและรวมถึงอินพุตดั้งเดิม) ของวงเล็บเหล่านั้นที่ให้การกำหนดค่าแบบเดียวกันของฟองอากาศโดยไม่มีสองสตริงที่เหมือนกัน นั่นหมายความว่าเมื่อมีการป้อนข้อมูล()()เอาท์พุทก็เป็นเพียงแค่()()แม้ว่ามันจะมีสองฟองอากาศที่สามารถสลับตำแหน่งได้ สำหรับโบนัสจำนวนมหาศาลจำนวนนับไม่ถ้วน{}[]()นำไปสู่ผลลัพธ์ขององค์ประกอบ / สตริง / บรรทัด 6 รายการที่แตกต่างกัน การกำหนดค่าของฟองสองแบบคือ "เหมือนกัน" ถ้าคุณสามารถทำให้เข้าด้วยกันโดยการย้ายฟองรอบ ๆ โดยไม่ปล่อยให้ฟองใด ๆ ผ่านจากภายในอีกฟองหนึ่งไปยังด้านนอกหรือจากภายนอกสู่ภายใน หากคุณเปรียบวงเล็บที่ซ้อนกันกับต้นไม้ (คู่ที่ตรงกันแต่ละคู่เป็นหนึ่งโหนดและทุกคู่ที่ตรงกันภายในเป็นโหนดย่อยและแต่ละคู่ที่ตรงกันภายในนั้นมีโหนดย่อยของอีกครั้งและอื่น ๆ ) โดยที่โหนดย่อยของโหนดที่กำหนดใด ๆ จากนั้นการกำหนดค่าเดียวของบับเบิลคือแผนผังที่ไม่มีการเรียงลำดับโหนด รูปแบบเอาต์พุตที่สมเหตุสมผลใด ๆ จะทำเช่นส่งคืนรายการสตริงหรือรายการของอักขระเดี่ยวหรือสตริงเดี่ยวที่มีช่องว่างบางชนิดหรือพิมพ์ไปยังstdoutหรือstderrด้วยอักขระช่องว่างที่มองเห็นได้บางรูปแบบ (ขึ้นบรรทัดใหม่หรือช่องว่างทั่วไป) ระหว่าง การปรับโครงสร้างแต่ละครั้ง ช่องว่างต่อท้ายสำหรับแต่ละการจัดระเบียบใหม่และการติดตามและนำหน้ารายการบรรทัดใหม่ …

12
บีบอัดสะเก็ดระเบิดของสมอง
ความท้าทายนี้ถูกโพสต์เป็นส่วนหนึ่งของความท้าทาย LotMในเดือนเมษายน 2018เช่นเดียวกับวันเกิดปีที่ 2 ของ Brain-flak ฉันกำลังคิดเกี่ยวกับวิธีที่มีประสิทธิภาพมากที่สุดในการเข้ารหัสโปรแกรมสะกิดสมอง สิ่งที่ชัดเจนที่ต้องทำเนื่องจากมีอักขระที่ใช้ได้เพียง 8 ตัวเท่านั้นคือการจับคู่อักขระแต่ละตัวกับลำดับ 3 บิต นี้มีประสิทธิภาพมาก แต่ก็ยังซ้ำซ้อนมาก มีคุณสมบัติบางอย่างของรหัสสมองสะเก็ดระเบิดที่เราสามารถใช้ประโยชน์จากการเข้ารหัสให้สั้นลงได้ nilads ซึ่งถูกแสดงด้วยวงเล็บ 2 ตัวที่จับคู่กันทำหน้าที่เป็นหน่วยเดียวของข้อมูลมากกว่า 2 ถ้าเราแทนที่แต่ละวงเล็บด้วยอักขระไบต์เดียวสิ่งนี้จะทำให้การเข้ารหัสมีขนาดเล็กลงโดยไม่สูญเสียข้อมูลใด ๆ อันนี้ไม่ชัดเจน แต่ไบต์การปิดของ monads นั้นซ้ำซ้อนเช่นกัน คิดว่าคุณสามารถเดาได้ว่า'?'ตัวละครนั้นเป็นตัวแทนอะไรในตัวอย่างต่อไปนี้ {(({}?<>?<>? หากเราสมมติว่าการป้อนข้อมูลนั้นเป็นรหัสสมองที่ถูกต้องแสดงว่ามีเพียงตัวเลือกเดียวสำหรับเครื่องหมายคำถามแต่ละข้อ ซึ่งหมายความว่าเราสามารถใช้ตัวอักษรmonad อย่างใกล้ชิดเพื่อแทนวงเล็บปิดทุกอัน สิ่งนี้มีประโยชน์เพิ่มเติมในการทำให้ชุดอักขระมีขนาดเล็กซึ่งจะช่วยได้อย่างมากหากเราต้องการใช้การเข้ารหัส huffman เนื่องจากตัวละครmonad closeน่าจะเป็นตัวละครที่พบได้บ่อยที่สุดโดยมีระยะขอบที่กว้างจึงอาจเป็นเพียงบิตเดียวซึ่งมีประสิทธิภาพอย่างมหาศาล เทคนิคสองอย่างนี้จะให้เราบีบอัดโค้ดที่ทำให้สมองสะบัดผ่านอัลกอริทึมต่อไปนี้: เปลี่ยนทุกๆวงเล็บปิดของ monad |กับ หรือกล่าวอีกนัยหนึ่งให้แทนที่วงเล็บปิดทุกอันที่ไม่ได้นำหน้าด้วยการเปิดการจับคู่ด้วยแถบ ดังนั้น... (({})<(()()())>{}) จะกลายเป็น (({}|<(()()()||{}| แทนที่ nilad ทุกตัวด้วยวงเล็บปิด ดังนั้นการจับคู่วงเล็บที่ไม่มีสิ่งใดในนั้นจึงใช้การจับคู่ดังต่อไปนี้: () --> …

7
การสร้าง Brainf *** NOPs
บางครั้งเมื่อเขียนโค้ด brainfuck คุณรู้สึกว่าจำเป็นที่จะต้องทำให้มันนานเกินความจำเป็นเพื่อกระตุ้นการดีบั๊ก คุณสามารถทำได้โดยการ plopping ที่><นั่น แต่ความสนุกคืออะไร คุณจะต้องมีสิ่งที่ยาวและน้อยกว่า NOPey เพื่อสร้างความสับสนให้ใครก็ตามที่อ่านรหัสของคุณ บทนำสู่ Brainfuck อย่างรวดเร็ว Brainfuckเป็นภาษาโปรแกรมลับที่สร้างขึ้นในปี 1993 โดย Urban Müllerและมีชื่อเสียงในเรื่องความเรียบง่ายแบบสุดขั้ว (วิกิพีเดีย) Brainfuck เป็นภาษาที่ใช้คำสั่งแปดคำ: +-><,.[]. รหัสนี้ทำงานบนเครื่องทัวริง: เทปที่ไม่มีที่สิ้นสุดซึ่งสามารถเปลี่ยนค่าได้ ในการท้าทายนี้เราจะเน้นไปที่สี่ข้อแรก: + increment the value at the pointer - decrement the value at the pointer > move the pointer right < move the pointer left Brainfuck …

25
กอล์ฟ A อัลกอริทึมการจับคู่วงเล็บ
sคุณจะได้รับสตริง มีการรับประกันว่าสตริงมีค่าเท่ากันและอย่างน้อยหนึ่ง[s และ]s มันยังรับประกันได้ว่าวงเล็บมีความสมดุล สตริงสามารถมีอักขระอื่นได้ โดยมีวัตถุประสงค์เพื่อการส่งออก / กลับรายการของ tuples หรือรายการของรายการที่มีดัชนีของแต่ละที่[และ]คู่ หมายเหตุ: สตริงเป็นศูนย์ดัชนี ตัวอย่าง: !^45sdfd[hello world[[djfut]%%357]sr[jf]s][srtdg][]ควรกลับมา [(8, 41), (20, 33), (21, 27), (36, 39), (42, 48), (49, 50)]หรือบางสิ่งที่เทียบเท่ากับสิ่งนี้ สิ่งอันดับไม่จำเป็น รายการสามารถใช้ กรณีทดสอบ: input:[[asdf][][td([)ty54g% ]hg[[f]u][f[[jhg][gfd]sdf]sdfs]ghd]fr43f] output:[(0, 62),(1, 6), (7, 8), (9, 56), (13, 22), (25, 30), (26, 28), (31, 52), (33, 47), (34, …

25
ตรวจจับการจับคู่ที่สมบูรณ์แบบ
มามีฟังก์ชั่นfffที่รับสตริงและลบคู่ของอักขระที่เหมือนกันที่อยู่ติดกันทั้งหมด ตัวอย่างเช่น f(abbbacc)=abaf(abbbacc)=abaf(a\color{red}{bb}ba\color{red}{cc}) = aba โปรดทราบว่าเมื่อทับซ้อนกันสองคู่เราจะลบหนึ่งคู่เท่านั้น เราจะเรียกสตริงที่จับคู่อย่างสมบูรณ์หากการใช้งานซ้ำ ๆ ในที่สุดก็จะทำให้สตริงว่าง ยกตัวอย่างเช่นสตริงดังกล่าวข้างต้นไม่ได้จับคู่อย่างสมบูรณ์แบบเพราะถ้าเราใช้อีกครั้งที่เรายังคงได้รับABAอย่างไรก็ตามสตริงอย่างนั้นถูกจับคู่อย่างสมบูรณ์เพราะถ้าเราใช้สามครั้งเราจะได้สตริงว่างabbbaccabbbaccabbbaccขอีขขคคd d จฉfffabaabaabaeabbccaddeeabbccaddeeabbccaddefff ฉ( e a b b c c a dde ) = e a a eฉ(อีaขขคคaddอี)=อีaaอีf(ea\color{red}{bbcc}a\color{red}{dd}e) = eaae ฉ( e a a e ) = e eฉ(อีaaอี)=อีอีf(e\color{red}{aa}e) = ee ฉ( e e ) =ฉ(อีอี)=f(\color{red}{ee}) = งานของคุณคือการเขียนรหัสคอมพิวเตอร์ที่จับคู่อย่างสมบูรณ์แบบซึ่งใช้สตริง (ของ ASCII ที่พิมพ์ได้) …

22
การแทนที่สตริงแบบเรียกซ้ำ
งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับสามสายA, B, Cสร้างสายออกที่แต่ละอินสแตนซ์ของBในAได้ถูกแทนที่ด้วยCซ้ำ การแทนที่แบบเรียกซ้ำหมายถึงการทำซ้ำการแทนที่โดยในแต่ละขั้นตอนอินสแตนซ์ที่ไม่ซ้ำซ้อนทั้งหมดของBในA(เลือกอย่างตะกละตะกลามจากซ้ายไปขวา) จะถูกแทนที่ด้วยCจนกว่าBจะไม่มีอยู่ในAนั้นอีก Input / Output คุณสามารถใช้ใด ๆ ของ วิธีการเริ่มต้นสำหรับ I / O สตริงจะมีอักขระ ASCII ที่พิมพ์ได้เท่านั้น (และอาจมี ใด ๆ ก็ได้ ) Bจะไม่เป็นสตริงว่างเปล่าในขณะที่AและCอาจเป็น สตริงจะถือว่าเป็นธรรมดาคุณไม่สามารถยกตัวอย่างเช่นถือว่าBเป็นรูปแบบ Regex ชุดค่าผสมบางอย่างจะไม่สิ้นสุด โปรแกรมของคุณสามารถทำอะไรก็ได้ในกรณีเหล่านั้น กรณีทดสอบ สิ่งเหล่านี้อยู่ในรูปแบบ: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty …
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

9
De-Parenthesizing สตริง
กำหนดสตริงที่วงเล็บให้ถูกต้องเป็นอินพุตเอาต์พุตรายการของสตริงย่อยที่ไม่ว่างทั้งหมดภายในวงเล็บที่ตรงกัน แต่ละสตริงย่อยควรเป็นลำดับของอักขระในวงเล็บที่ตรงกันตรงกันทุกประการ ควรระบุรายการซับสเตอรตามลําดับความลึกและแสดงซับสตริปที่มีความลึกเท่ากันตามลําดับที่เกิดขึ้นในสตริง สมมติว่าอินพุตถูกวงเล็บอย่างถูกต้องเสมอ คุณอาจสันนิษฐานว่าอินพุตมีตัวอักษรและวงเล็บ ASCII ตัวพิมพ์เล็กเท่านั้น คำตอบของคุณควรเป็นฟังก์ชั่นที่ส่งคืนรายการสตริง ตัวอย่าง: 'a(b)c(d)e' -> ['ace', 'b', 'd'] 'a(b(c)d)e' -> ['ae', 'bd', 'c'] 'a((((b))))' -> ['a', 'b'] 'a()b' -> ['ab'] '' -> [] 'a' -> ['a'] '(((a(b)c(d)e)f)g)h' -> ['h', 'g', 'f', 'ace', 'b', 'd'] 'ab(c(((d)ef()g)h()(i)j)kl)()' -> ['ab', 'ckl', 'hj', 'efg', 'i', 'd'] ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ

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