Statistics

Problem Statement for "CompletingBrackets"

Problem Statement

A series of brackets is complete if we can pair off each left bracket '[' with a right bracket ']' that occurs later in the series. Every bracket must participate in exactly one such pair.

Given a String text add the minimal number of brackets to the beginning and/or end of text to make it complete. Return the result.

Definition

Class:
CompletingBrackets
Method:
complete
Parameters:
String
Returns:
String
Method signature:
String complete(String text)
(be sure your method is public)

Constraints

  • text will have between 1 and 50 characters inclusive.
  • text will contain only the characters '[' and ']'.

Examples

  1. "[["

    Returns: "[[]]"

    Add two ']' to the end to make this complete.

  2. "]["

    Returns: "[][]"

    Add one to the beginning and one to the end.

  3. "[[[[]]]]"

    Returns: "[[[[]]]]"

    This is already complete.

  4. "][]["

    Returns: "[][][]"

  5. "[]"

    Returns: "[]"

  6. "][[[]"

    Returns: "[][[[]]]"

  7. "[]]["

    Returns: "[[]][]"

  8. "][[[[][[[[]["

    Returns: "[][[[[][[[[][]]]]]]]"

  9. "][][]["

    Returns: "[][][][]"

  10. "[]]][]][[][]][[][][[][[[][][[][][][]][]"

    Returns: "[[[[]]][]][[][]][[][][[][[[][][[][][][]][]]]]]"

  11. "]]]]]]]][][]][[]]][]]]]]]][]][[]]["

    Returns: "[[[[[[[[[[[[[[[[[]]]]]]]][][]][[]]][]]]]]]][]][[]][]"

  12. "]][][[[[]][]]][[[][]][]"

    Returns: "[[]][][[[[]][]]][[[][]][]]"

  13. "][["

    Returns: "[][[]]"

  14. "[[][]]]"

    Returns: "[[[][]]]"

  15. "[[][[[[[][[]][[[[]][[]]][[][][]]]][[[]][[]][][]"

    Returns: "[[][[[[[][[]][[[[]][[]]][[][][]]]][[[]][[]][][]]]]]]"

  16. "][[[][]][[]]"

    Returns: "[][[[][]][[]]]"

  17. "[[[[[[[[[[]]]]][][[][]][[[[]][[[]][]][[["

    Returns: "[[[[[[[[[[]]]]][][[][]][[[[]][[[]][]][[[]]]]]]]]]]"

  18. "][[]][[]]][][[]][[][[][[[]]]]][]]]]]]][[][][[]]["

    Returns: "[[[[[[[[][[]][[]]][][[]][[][[][[[]]]]][]]]]]]][[][][[]][]]"

  19. "[]]][][[][][][[]][]]][[[[]]]]]][[][[[][]][[]"

    Returns: "[[[[[[]]][][[][][][[]][]]][[[[]]]]]][[][[[][]][[]]]]"

  20. "[]["

    Returns: "[][]"

  21. "][[]]]]]]]][[]][[[][][]][[][][]]]]]"

    Returns: "[[[[[[[[[][[]]]]]]]][[]][[[][][]][[][][]]]]]"

  22. "[]]]][[][]][[]"

    Returns: "[[[[]]]][[][]][[]]"

  23. "[]]]["

    Returns: "[[[]]][]"

  24. "][]]][]][[[[][]][[[]]][[]][][][]]]]]][]]][]]]]]"

    Returns: "[[[[[[[[[[[[[][]]][]][[[[][]][[[]]][[]][][][]]]]]][]]][]]]]]"

  25. "][][][[][[]][]]][[]][][]][][]"

    Returns: "[[[][][][[][[]][]]][[]][][]][][]"

  26. "][]]]]][]"

    Returns: "[[[[[][]]]]][]"

  27. "[]][][][[]][][[[]]]"

    Returns: "[[]][][][[]][][[[]]]"

  28. "]]]]]]]]]]]]]]]]]]]]]]]]][[[[[[[[[[[[[[[[[[[[[[[[["

    Returns: "[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]][[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]"

    Long output

  29. "[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]"

    Returns: "[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]"

    long and complete

  30. "]]][]["

    Returns: "[[[]]][][]"

  31. "]][[][[][[]]]"

    Returns: "[[]][[][[][[]]]]"

  32. "][][][]["

    Returns: "[][][][][]"

  33. "][[]"

    Returns: "[][[]]"

  34. "[[[]]]]"

    Returns: "[[[[]]]]"

  35. "[]]][][["

    Returns: "[[[]]][][[]]"

  36. "[][][][][][]"

    Returns: "[][][][][][]"

  37. "]]"

    Returns: "[[]]"

  38. "]]]]]]]]]]]]]]]]]]]]]]]]]]][[[[[[]]]]]]]]]]]]]][]]"

    Returns: "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]][[[[[[]]]]]]]]]]]]]][]]"

  39. "[]][[]"

    Returns: "[[]][[]]"

  40. "]]]]][]]]]][][["

    Returns: "[[[[[[[[[]]]]][]]]]][][[]]"

  41. "[[][]]]"

    Returns: "[[[][]]]"

  42. "[]]"

    Returns: "[[]]"

  43. "[]]][[]"

    Returns: "[[[]]][[]]"

  44. "]]["

    Returns: "[[]][]"

  45. "]][]]"

    Returns: "[[[]][]]"

  46. "]]]]"

    Returns: "[[[[]]]]"

  47. "]][[][[]["

    Returns: "[[]][[][[][]]]"

  48. "[]]]]]]]][[["

    Returns: "[[[[[[[[]]]]]]]][[[]]]"

  49. "[][][][][][[[]]]]]]]]][[[][][[[[[[[]]]]]]][[]"

    Returns: "[[[[[[[][][][][][[[]]]]]]]]][[[][][[[[[[[]]]]]]][[]]]]"

  50. "[[[[[[[[[[[]"

    Returns: "[[[[[[[[[[[]]]]]]]]]]]"

  51. "[[[]][[]][][[[[[]"

    Returns: "[[[]][[]][][[[[[]]]]]]"

  52. "][]["

    Returns: "[][][]"

  53. "][][]["

    Returns: "[][][][]"

  54. "[][][]]"

    Returns: "[[][][]]"

  55. "[][[]]]"

    Returns: "[[][[]]]"

  56. "[]]["

    Returns: "[[]][]"

  57. "]]]"

    Returns: "[[[]]]"

  58. "]]][[][]][]]]][[[]]][]][[[]][[]][[]][[]]"

    Returns: "[[[[[[[]]][[][]][]]]][[[]]][]][[[]][[]][[]][[]]]"

  59. "]]]]]]"

    Returns: "[[[[[[]]]]]]"

  60. "]][[]]]]"

    Returns: "[[[[]][[]]]]"

  61. "]]]]][[][[]][["

    Returns: "[[[[[]]]]][[][[]][[]]]"

  62. "[]]]]]]]][[[]"

    Returns: "[[[[[[[[]]]]]]]][[[]]]"

  63. "]]]][[[["

    Returns: "[[[[]]]][[[[]]]]"

  64. "]]]]]]]][[[[[][[]]][[[["

    Returns: "[[[[[[[[]]]]]]]][[[[[][[]]][[[[]]]]]]]"

  65. "]][]"

    Returns: "[[]][]"

  66. "[[]]]]]]]][[[[[]]]]]]]][[[[[["

    Returns: "[[[[[[[[[[[]]]]]]]][[[[[]]]]]]]][[[[[[]]]]]]"

  67. "]][[][[]]]]]"

    Returns: "[[[[]][[][[]]]]]"

  68. "]][][][[[[]]]][[[][][[[]"

    Returns: "[[]][][][[[[]]]][[[][][[[]]]]]"

  69. "[]["

    Returns: "[][]"

  70. "]"

    Returns: "[]"

  71. "]]]]]]]]"

    Returns: "[[[[[[[[]]]]]]]]"

  72. "[]"

    Returns: "[]"

  73. "]["

    Returns: "[][]"

  74. "]]]]]][[[][["

    Returns: "[[[[[[]]]]]][[[][[]]]]"


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: