Question
Write a function that reverses characters in (possibly nested) parentheses in the input string.
Input strings will always be well-formed with matching ()
s.
Example
- For
inputString = "(bar)"
, the output should bereverseInParentheses(inputString) = "rab"
; - For
inputString = "foo(bar)baz"
, the output should bereverseInParentheses(inputString) = "foorabbaz"
; - For
inputString = "foo(bar)baz(blim)"
, the output should bereverseInParentheses(inputString) = "foorabbazmilb"
; - For
inputString = "foo(bar(baz))blim"
, the output should bereverseInParentheses(inputString) = "foobazrabblim"
. Because"foo(bar(baz))blim"
becomes"foo(barzab)blim"
and then"foobazrabblim"
.
Input/Output
[execution time limit] 4 seconds (py3)
[input] string inputString
A string consisting of lowercase English letters and the characters
(
and)
. It is guaranteed that all parentheses ininputString
form a regular bracket sequence.Guaranteed constraints:
0 ≤ inputString.length ≤ 50
.[output] string
- Return
inputString
, with all the characters that were in parentheses reversed.
- Return
Best_ANSWER
def reverseInParentheses(inputString):
for i in range(len(inputString)):
if inputString[i] == "(":
start = i
if inputString[i] == ")":
end = i
return reverseInParentheses(inputString[:start] + inputString[start+1:end][::-1] + inputString[end+1:])
return inputString
- 어렵다.... 답을 봄