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

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

4
ชัดเจนวงเล็บรถไฟ APL
ใน APL คุณสามารถเขียนฟังก์ชั่นโดยปริยายเรียกว่ารถไฟ พวกเขาทำงานอย่างไรไม่เกี่ยวข้องกับความท้าทายนี้ นี่คือวิธีที่แตกต่างกันที่พวกเขาสามารถจัดกลุ่มโดยใช้⍴เป็นฟังก์ชั่น: ⍴ -> ⍴ ⍴⍴ -> ⍴⍴ ⍴⍴⍴ -> ⍴⍴⍴ ⍴⍴⍴⍴ -> ⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴ -> ⍴⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴⍴ -> ⍴(⍴⍴(⍴⍴⍴)) ... คำสั่งซื้อยังคงเหมือนเดิม ขั้นตอนคือตราบใดที่มีมากกว่า 3 ฟังก์ชั่นอย่างเข้มงวดฟังก์ชั่น 3 ครั้งสุดท้ายจะถูกจัดกลุ่มเป็นหนึ่งฟังก์ชั่น หากเราพบรถไฟซ้อนกันเราจะวงเล็บเป็นอันดับแรกก่อนดำเนินการต่อ นี่คือขั้นตอนที่ใช้กับ⍴⍴⍴⍴⍴⍴: Step 0: ⍴⍴⍴⍴⍴⍴ There are strictly more than 3 functions, repeat. Step 1: ⍴⍴⍴(⍴⍴⍴) There are strictly more …

8
ย้อนกลับเรียงแทรก
วัตถุประสงค์ สร้างรายการที่มีสัญญาณรบกวนเดิมจากการเคลื่อนไหวที่มีการจัดเรียงการแทรกเพื่อจัดเรียง รายการต้นฉบับจะมีตัวเลขทั้งหมดตั้งแต่0ถึงN-1(รวม) โดยที่Nขนาดของอินพุต อินพุต รายการที่มีการเคลื่อนไหวที่จำเป็นเพื่อเรียงลำดับรายการ แต่ละค่าแสดงถึงจำนวนช่องที่แทนที่ด้วยหมายเลขเดิม (สัญญาณรบกวน) ที่จะอยู่ในตำแหน่งที่ถูกต้องโปรดทราบว่ากระบวนการนี้มาจากด้านซ้ายไปทางขวา ค่าที่ตำแหน่ง (ดัชนี 0) iในรายการอินพุตจะอยู่ระหว่าง0และiรวม คุณไม่จำเป็นต้องจัดการอินพุตที่ไม่ถูกต้องพฤติกรรมใด ๆ เป็นที่ยอมรับในกรณีนี้ (เกิดความผิดพลาดวนซ้ำไม่สิ้นสุด ฯลฯ ) เอาท์พุต รายการที่มีสัญญาณรบกวน ทีละขั้นตอนในการสร้างการเคลื่อนไหว Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  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 

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

9
วงเล็บเหลี่ยมสมดุล
"วงเล็บสามเหลี่ยม" (ที่ฉันทำขึ้นสำหรับความท้าทายนี้) เป็นหนึ่งในสิ่งต่อไปนี้: (...+...) [...:...] {...|...} <...-...> สตริงวงเล็บเหลี่ยม triplet สมดุล (BTBS สำหรับช่วงสั้น ๆ ) เป็นสตริงว่างเปล่า, สอง BTBSes ที่ต่อกันหรือหนึ่งในวงเล็บสามด้านบนซึ่งแต่ละอัน...ถูกแทนที่ด้วย BTBS งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ตรวจสอบว่าสตริงที่ประกอบด้วยเพียง(+)[:]{|}<->นั้นมีความสมดุลหรือไม่ รหัสที่สั้นที่สุดชนะ ตัวอย่าง โปรแกรมของคุณควรกลับมาเป็นจริงสำหรับสตริงต่อไปนี้: (+)(+)(+) [[[:]:]:(+(+))]{<->|<(+)->[:]}(+) <<<<<<<<<<<<->->->->->->->->->->->-> {|(+[:<-{|(+[:<->])}>])} [[[:]:[:]]:[[:]:[:]]] {[:](+)|<->{|}}[(+)<->:{|}(+)] โปรแกรมของคุณควรคืนค่าเท็จสำหรับสตริงต่อไปนี้: :[ <|> (+(+) [:][:](+[[:]):] {|{|{|(+{|{|{|}}}}}+)}[:]{|} {{||}} <<->-<->-<->> [(+):((+)+)+(+(+))] <<<<<->->->->->->

8
เขียนล่ามคลาสสิคสุดมันส์!
Brain-Flak (ข้ามระหว่าง Brainf ** k และ Flak-Overstow) เป็นภาษาลึกลับแบบกองซ้อน เนื่องจากความท้าทายนี้ถูกโพสต์ภาษาได้พัฒนาและปรับปรุง แต่การแก้ไขครั้งแรกของภาษานี้เป็นที่รู้จักกันในชื่อ "brain-flak classic" คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้สตริงของรหัสคลาสสิกของ Brain-Flak และประเมินผล นอกจากนี้ยังจะใช้รายการจำนวนเต็ม (เป็นไปได้ที่ว่างเปล่า) มีอินพุตสำหรับโปรแกรม Brain-Flak classic ภาษา Brain-Flak มีสองกองเรียกว่า 'left' และ 'right' สแต็คที่ใช้งานเริ่มต้นที่ด้านซ้าย หากสแต็กที่ว่างเปล่าถูกตอกหรือแอบดูมันจะส่งคืน 0 ไม่มีตัวแปร เมื่อโปรแกรมเริ่มขึ้นแต่ละอินพุตจะถูกพุชไปยังสแต็กที่แอ็คทีฟตามลำดับ (เพื่อให้อินพุตล่าสุดอยู่ด้านบนของสแต็ก) อักขระที่ใช้ได้ในโปรแกรม Brain-Flak ()[]{}<>เท่านั้นและต้องมีความสมดุลเสมอ หากมีอักขระที่ไม่ถูกต้องหรือวงเล็บไม่ตรงกันคุณจะได้รับพฤติกรรมที่ไม่ได้กำหนด ทุกอย่างถูกต้อง : มีสองประเภทของฟังก์ชั่นNiladsและMonads niladเป็นฟังก์ชั่นที่ใช้เวลา 0 ขัดแย้ง นี่คือทั้งหมดของ nilads: () +1 [] -1 {} ป็อปสแต็คที่ใช้งานอยู่ …

9
เติม Bracks
วงเล็บปกติ ( (), [], <>และ{}) ที่ดีและชัดเจน แต่ใครบางคนคิดว่ามันจะเป็นความคิดที่ดีที่จะใช้ตัวอักษรวงเล็บไม่ใช่เป็นวงเล็บ อักขระเหล่านี้|และ"มีความคลุมเครือ ตัวอย่างเช่น """" สอดคล้องกับ (()) หรือ ()() มันเป็นไปไม่ได้ที่จะบอก สิ่งต่าง ๆ เริ่มน่าสนใจเมื่อคุณผสมวงเล็บประเภทที่ไม่ชัดเจนเช่น "|""||""|" อาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้ ([(([]))]),([()[]()]),([()][()]) งาน งานของคุณคือการใช้สตริงที่ทำจากอักขระที่ไม่ชัดเจนและส่งออกสตริงสมดุลที่เป็นไปได้ทั้งหมดที่ผู้เขียนตั้งใจไว้ เพิ่มเติมรูปธรรมผลผลิตสตริงสมดุลทั้งหมดที่สามารถทำแทนที่|ด้วย[หรือ]และ"ด้วยหรือ( )คุณไม่ควรส่งออกสตริงที่สมดุลใด ๆ สองครั้ง IO เป็นข้อมูลที่คุณควรจะสตริงประกอบด้วยและ| "หากคุณต้องการเลือกอักขระที่แตกต่างกันสองตัวนอกเหนือจาก|และ"เพื่อใช้เป็นตัวแทนที่คุณสามารถทำได้ คุณควรส่งออกคอนเทนเนอร์ของสตริงที่สมดุล คุณอาจเลือกที่จะเปลี่ยน[]และ()ในการส่งออกกับคนอื่น ๆ สองคู่วงเล็บใด ๆ ( (), [], <>หรือ{}) ที่คุณต้องการ รูปแบบผลลัพธ์ของคุณควรสอดคล้องกันระหว่างการดำเนินการ เกณฑ์การให้คะแนน นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า กรณีทดสอบ "" -> ["()"] "|"| -> [] …

15
g o l f a t a n 2
บางครั้งจริงๆมันคือการต่อสู้การแปลงพิกัดคาร์ทีเซียนพิกัดขั้วโลก(x,y) (r,phi)ในขณะที่คุณสามารถคำนวณr = sqrt(x^2+y^2)ได้ง่ายมากคุณมักจะต้องแตกต่างจากกรณีเมื่อคำนวณมุมphiเพราะarcsin, arccosและarctanและฟังก์ชันตรีโกณมิติอื่น ๆ ทุกคนมีร่วมโดเมนที่เฉพาะในแต่ละช่วงครึ่งวงกลม ในหลายภาษามี built-in สำหรับการแปลงสี่เหลี่ยมพิกัดเชิงขั้วหรืออย่างน้อยก็มีatan2ฟังก์ชั่นที่ - รับ(x,y)- phiคำนวณมุม งาน งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่ใช้เวลาสอง (จุดลอยไม่ใช่ทั้งสองศูนย์) พิกัดคาร์ทีเซียน(x,y)และเอาท์พุทมุมขั้วโลกที่สอดคล้องกันphiที่phiจะต้องมีในองศาเรเดียนหรือเกรด (มีเกรดผมหมายถึงGradiansซึ่งเป็น 1 / 400 ของวงกลมเต็ม) แล้วแต่ว่าอะไรจะสะดวกสำหรับคุณ (1,0)มุมที่เป็นวัดในทิศทางบวกและเรามีมุมสำหรับศูนย์ รายละเอียด คุณไม่สามารถใช้สร้างเพิ่มเติมที่คำนวณมุมที่phiได้รับสองพิกัดรวมทั้งatan2, rect2polar, argOfComplexNumberและฟังก์ชั่นที่คล้ายกัน อย่างไรก็ตามคุณสามารถใช้ฟังก์ชั่นตรีโกณมิติปกติและการกลับด้านได้ซึ่งจะรับเพียงหนึ่งอาร์กิวเมนต์เท่านั้น สัญลักษณ์หน่วยใดก็ได้เป็นตัวเลือก รัศมีrจะต้องไม่เป็นลบและphiจะต้องอยู่ในช่วง[-360°, 360°](ไม่สำคัญว่าคุณจะส่งออก270°หรือ-90°) ตัวอย่าง Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) …
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

30
องค์ประกอบที่หายไป
กำหนดสตริงSและรายชื่อของดัชนีXปรับเปลี่ยนSโดยการเอาองค์ประกอบที่ดัชนีของแต่ละขณะที่ใช้ผลที่เป็นค่าใหม่SS ตัวอย่างเช่นกำหนดS = 'codegolf'และX = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

25
Patttern ง่าย
ปัจจัยการผลิต: ตัวเลขสองหลักเดียว (เรียกว่าพวกมันmและn) และสองตัวอักษร (เรียกมันว่า) aและbในรูปแบบอินพุตที่คุณเลือก เอาท์พุท: m=2, n=5, a='a', b='b'สำหรับคำแนะนำการหลอก เอาต์พุตของคุณจะเป็นสตริงที่สร้างจากอินพุตสี่ตัวของคุณ ขอเรียกสตริงที่มีค่าresult ""ครั้งแรก concatenate aบนresult mเวลาเพื่อ concatenate aบนresult 2ครั้ง ตอนนี้เท่ากับresult aaประการที่สอง concatenate bบนresult mเวลาเพื่อ concatenate bบนresult 2ครั้ง ตอนนี้เท่ากับresult aabbสุดท้ายหากผลเป็นที่เรียบร้อยแล้วนานกว่าn, ตัดเพื่อที่จะมีความยาวresult nมิฉะนั้นต่อสลับกับmระยะเวลาในการทำงานของaและbจนกว่าจะมีความยาวresult nสุดท้ายresultมีที่ซึ่งมีความยาวaabba5 กรณีทดสอบ: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

3
ค้นหารูปแบบในเงื่อนไข
ในความท้าทายนี้งานของคุณคือการหาวัสดุพิมพ์ที่มีโครงสร้างที่กำหนด อินพุต ข้อมูลของคุณจะเป็นสองสายที่เป็นตัวเลขไม่ว่างเปล่าเป็นรูปแบบ pและข้อความ tแนวคิดก็คืออักขระแต่ละตัวจะpแทนซับสตริงที่ไม่ว่างเปล่าที่ต่อเนื่องกันtซึ่งเกิดขึ้นถัดจากกันและกันและpแสดงถึงการต่อกันของมัน อักขระที่เหมือนกันสอดคล้องกับสตริงย่อยที่เหมือนกัน ตัวอย่างเช่นรูปแบบaaหมายถึงสแควร์ที่ไม่ว่างเปล่า (สตริงที่ได้จากการต่อสตริงที่สั้นกว่าเข้ากับตัวเอง) ดังนั้นรูปแบบaaสามารถจับคู่สตริงย่อยbyebyeได้ด้วยการaจับคู่แต่ละbyeครั้ง เอาท์พุต หากข้อความที่tมีสตริงย่อยที่pการแข่งขันแล้วส่งออกของคุณจะเป็นสตริงย่อยที่มีทวิภาคแทรกระหว่างสตริงที่ตรงกับตัวละคร: pตัวอย่างเช่นถ้าเรามีt = byebyenowและp = aaก็bye:byeเป็นผลลัพธ์ที่ยอมรับได้ อาจมีหลายตัวเลือกสำหรับสตริงย่อยที่ตรงกัน แต่คุณจะส่งออกหนึ่งในพวกเขาเท่านั้น ถ้าtไม่ได้มี substring :(จับคู่ของคุณออกจะเป็นหน้าเศร้า กฎและคำชี้แจง ตัวละครที่แตกต่างกันpสามารถสอดคล้องกับสตริงเหมือนกันเพื่อให้สามารถจับคู่สตริงp = aba AAAโปรดทราบว่าตัวละครจะต้องสอดคล้องกับสตริงที่ไม่ว่างเปล่า; โดยเฉพาะอย่างยิ่งถ้าpมีความยาวมากกว่าการส่งออกจะต้องมีt:( คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบและคุณยังสามารถเปลี่ยนลำดับของอินพุตทั้งสองได้ จำนวนไบต์ต่ำสุดที่ชนะและไม่อนุญาตช่องโหว่มาตรฐาน กรณีทดสอบ pattern text -> outputได้รับในรูปแบบ โปรดทราบว่าอาจมีเอาต์พุตอื่นที่ยอมรับได้ a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

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

4
จบวงเล็บที่ขี้เกียจ
วงเล็บบนคีย์บอร์ดของฉันหมดและฉันต้องการหลีกเลี่ยงการใช้มากที่สุด ความท้าทายของคุณคือการรักษาสมดุลของเส้นที่มีวงเล็บด้วยการเพิ่มลงในก่อนและหลังแต่ละบรรทัด สิ่งนี้คล้ายกับวงเล็บอัตโนมัติและการปิดสตริง (เช่นOutput(1, 1, "Hello, World!) ของ TI-Basic นอกจากนี้ยังช่วยประหยัดไบต์อันมีค่าจากโปรแกรม! อินพุตตัวอย่าง: This line has no parentheses alert(Math.max(1, 2 1+1)*2).toString() function() { alert('Hello, World!'); })( ตัวอย่างเอาต์พุต (เป็นไปได้): This line has no parentheses alert(Math.max(1, 2)) ((1+1)*2).toString() (function() { alert('Hello, World!'); })() รายละเอียด: สำหรับอินพุตแต่ละบรรทัด เพิ่มวงเล็บเปิดที่เปิดไว้จำนวนมากให้กับจุดเริ่มต้นและปิดวงเล็บไปยังจุดสิ้นสุดของบรรทัดตามต้องการเพื่อปรับสมดุลของวงเล็บในบรรทัด คำจำกัดความของ "สมดุล" คือ: จำนวนเท่ากัน(และ)ในบรรทัด สำหรับทุกสตริงย่อยที่เริ่มต้นจากจุดเริ่มต้นของสตริงสตริงย่อยนี้ต้องไม่มีวงเล็บปิดมากกว่าการเปิดวงเล็บ ตัวอย่างเช่น(foo))(barไม่สมดุลเนื่องจาก(foo))มีวงเล็บปิดมากกว่าการเปิดวงเล็บ คุณอาจเพิ่มวงเล็บที่ไม่จำเป็นเป็นพิเศษหากคุณต้องการหากมันทำให้รหัสของคุณสั้นลง คุณไม่จำเป็นต้องกังวลเกี่ยวกับตัวอักษรสตริงหรืออะไรอย่างนั้นสมมติว่าวงเล็บทั้งหมดต้องมีความสมดุล …

19
ตรวจสอบโปรแกรม Brainfuck
อีกปัญหาหนึ่งในการแยกวิเคราะห์ Brainfuck แต่คราวนี้ ... ต่างออกไป คุณกำลังทำงานใน Infinite Monkeys Incorporated ซึ่งเป็น บริษัท ที่ทำโปรแกรม Brainfuck เพื่อแก้ปัญหาที่น่าสนใจต่าง ๆ (โดยไม่เกิดอุบัติเหตุไม่น้อยเลยที่ บริษัท ทำโปรแกรมแบบสุ่ม) อย่างไรก็ตามดูเหมือนว่าเครื่องทัวริงที่รวดเร็วของคุณที่ใช้งาน Brainfuck เท่านั้นที่มีปัญหาเล็ก ๆ และมีราคาแพงที่มีข้อผิดพลาดทางไวยากรณ์ - สร้างหนึ่งและคอมพิวเตอร์จะระเบิด มันอาจเป็นข้อบกพร่องในการออกแบบ แต่ไม่มีใครใส่ใจที่จะหาว่าทำไมมันถึงเกิดขึ้น เนื่องจากเครื่องทัวริง (โดยเฉพาะอย่างยิ่งเครื่องเร็ว) มีราคาแพง (หลังจากทั้งหมดเครื่องเหล่านี้มี RAM แบบอินฟินิตี้ซึ่งมีค่าใช้จ่าย) มันจะดีกว่าเพื่อให้แน่ใจว่าโปรแกรมจะไม่มีข้อผิดพลาดทางไวยากรณ์ใด ๆ บริษัท ของคุณกำลังเรียกใช้รหัสจำนวนมากดังนั้นการตรวจสอบด้วยตนเองจะไม่ทำงาน เขียนโปรแกรมที่อ่านรหัส STDIN สำหรับ Brainfuck และออกด้วยสถานะการออกที่ตั้งค่าเป็นสิ่งอื่นที่ไม่ใช่ 0 (ข้อผิดพลาด) หากโปรแกรมมีข้อผิดพลาดทางไวยากรณ์ (ตัวอย่างเช่น]เป็นข้อผิดพลาดทางไวยากรณ์เนื่องจากไม่มีการจับคู่[) ออกโดยตั้งค่าสถานะการออกเป็น 0 หากโปรแกรมนั้นสมบูรณ์ []ตรวจสอบให้แน่ใจว่าโปรแกรมที่คุณสังเกตเห็นความผิดพลาดได้อย่างถูกต้องที่เกี่ยวข้องกับ …

10
สร้างสตริงรั้งทั้งหมดของความยาว n
สตริง brace ถูกกำหนดเป็นสตริงที่ประกอบด้วยอักขระ*()[]ที่วงเล็บปีกกาตรงกันอย่างถูกต้อง: [brace-string] ::= [unit] || [unit] [brace-string] [unit] ::= "" || "*" || "(" [brace-string] ")" || "[" [brace-string] "]" นี่คือวงเล็บปีกกาที่ถูกต้อง: ((())***[]**)****[(())*]* แต่นี่ไม่ใช่: )( **(**[*](**) **([*)]** งานของคุณคือการเขียนโปรแกรม (หรือฟังก์ชั่น) ที่ได้รับเป็นจำนวนเต็มบวกnใช้ตัวเลขเป็น input และผล (หรือผลตอบแทน) nทุกสายรั้งที่ถูกต้องของความยาว ข้อมูลจำเพาะ คุณสามารถส่งออกสตริงในลำดับใดก็ได้ คุณอาจส่งออกเป็นรายการหรือสตริงที่คั่นด้วยอักขระอื่น โปรแกรมของคุณต้องจัดการกับ 0 อย่างถูกต้อง มี 1 เป็นไปรั้งสตริงของความยาว 0 ""ซึ่งเป็นสตริงที่ว่างเปล่าเป็น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - วัดเป็นไบต์ - …

23
เยื้องสตริงโดยใช้วงเล็บที่กำหนด
กำหนดอินพุตต่อไปนี้ให้กับโปรแกรม: รายการอักขระเริ่มบล็อก รายการอักขระสิ้นสุดบล็อก สตริงที่จะจัดรูปแบบ จัดรูปแบบสตริงด้วยบล็อกที่คั่นด้วยชุดอักขระสองเยื้อง การจัดรูปแบบเสร็จสิ้นด้วยสองช่องว่างต่อระดับและวางวงเล็บไว้ตามที่แสดงในตัวอย่างด้านล่าง คุณอาจคิดว่าชุดของการเปิดและปิดตัวละครที่จะ disjoint เช่นสำหรับ{[(<และ}])>เป็นชุดอักขระการเปิดและปิดและสตริงต่อไปนี้: abc{xyz{text[note{comment(t{ex}t)abc}]}} ผลลัพธ์ต่อไปนี้จะถูกคาดหวัง: abc { xyz { text [ note { comment ( t { ex } t ) abc } ] } } คุณไม่สามารถเขียนรหัสรายการอักขระ“ วงเล็บ” ได้ยาก แม้ว่าจะไม่ได้ระบุอินพุตให้ แต่; นี่อาจเป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือผ่านอินพุตมาตรฐานตามที่คุณต้องการ

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