คุณเป็นผู้จัดการโครงการ วันหนึ่งหนึ่งของการเขียนโปรแกรมของคุณไปบ้า ( ไม่ใช่ความผิดของคุณ ) และเอาการแสดงออกทั้งหมดใน codebase และเพิ่มวงเล็บสุ่มกับพวกเขาก่อนที่จะเลิกสูบบุหรี่ในจุดที่คุยโวเกี่ยวกับการไร้ความสามารถของคุณ ( ยังไม่ใช่ความผิดของคุณ ) นี่จะเป็นการแก้ไขที่ง่ายอย่างไรก็ตามด้วยเหตุผลบางอย่างที่คุณไม่ได้ใช้การควบคุมการแก้ไข ( ไม่ใช่ความผิดทั้งหมดของคุณ ) และด้วยเหตุผลบางอย่างไม่มีโปรแกรมเมอร์คนอื่น ๆ ที่ต้องการผ่านทุกนิพจน์เพื่อแก้ไขวงเล็บที่ไม่ตรงกัน ( โดยวิธีการที่ไม่ใช่ความผิดของคุณ ) โปรแกรมเมอร์วันนี้คุณคิดกับตัวเอง คุณจะต้องทำเอง สยองขวัญ! งานดังกล่าวควรจะอยู่ภายใต้คุณ ...
อินพุตจะเป็นบรรทัดเดียวซึ่งจะมีจำนวนวงเล็บซ้าย ( ( [ {
) และวงเล็บปีกกาขวา ( ) ] }
) นอกจากนี้ยังอาจมีความคิดเห็น ( /* */
) และตัวอักษรสตริง ( " "
หรือ' '
) และตัวเลขตัวอักษรหรือสัญลักษณ์ต่างๆ
จะมีตัวยึดอย่างน้อยหนึ่งตัว (นอกความคิดเห็นหรือตัวอักษรสตริง) ที่ไม่มีการกัดกร่อนที่ตรงกันข้าม (นอกความคิดเห็นหรือตัวอักษรสตริง) ตัวอย่างเช่นนักเดินทางที่}
ไม่มี{
ก่อนหน้า อีกตัวอย่างหนึ่ง: (
ซึ่งไม่มีใน)
ภายหลัง โปรแกรมของคุณจะแทนที่ด้วยช่องว่างจำนวนขั้นต่ำของวงเล็บเหลี่ยมที่จำเป็นในการทำให้วงเล็บตรง
ตัวอย่าง:
(4 + (2 + 3))]
==> (4 + (2 + 3))
(วงเล็บเหลี่ยมที่ท้าย)
][][[]]
==> [][[]]
(วงเล็บเหลี่ยมที่จุดเริ่มต้น)
("Hel(o!"))
==> ("Hel(o!")
(วงเล็บที่ท้าย)
( /* )]*/
==> /* )]*/
(วงเล็บที่จุดเริ่มต้น)
{()]
==> ()
(วงเล็บปีกกาและ วงเล็บเหลี่ยม)
- อินพุตสามารถนำมาจากวิธีใดก็ได้ที่สะดวกที่สุด (STDIN อาร์กิวเมนต์บรรทัดคำสั่งการอ่านจากไฟล์ ฯลฯ )
- หากมีมากกว่าหนึ่งวิธีในการแก้ไขความไม่ตรงกันด้วยจำนวนการลบที่เท่ากันแสดงว่ายอมรับได้
- จะมีเฉพาะในวงเล็บไม่ตรงกัน สตริงตัวอักษรและความคิดเห็นจะเกิดขึ้นอย่างถูกต้องเสมอ
- ชื่อมาจากเธรด SO นี้
- จะไม่มีคำพูดใด ๆ ในความคิดเห็นคำพูดในคำพูดความคิดเห็นในความคิดเห็นหรือความคิดเห็นในคำพูด
นี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ขั้นต่ำจึงชนะ ถามคำถามในความคิดเห็นหากข้อกำหนดไม่ชัดเจน
("foo (\") bar")
)?
{{(})
ควรเป็น{ }
หรือเทียบเท่าเนื่องจากสถานการณ์การเปิดหมายความว่ารหัสกำลังทำงานเพื่อเริ่มต้นด้วยและ{(})
นับเป็นวงเล็บเหลี่ยมที่ไม่ตรงกันในทุกภาษาการเขียนโปรแกรมที่ฉันรู้ แต่หลังจากนั้นฉันเขียนคำตอบไปแล้วดังนั้นฉันจึงมีอคติ