

보기엔 간단한 문제입니다! 안쪽에있는 ()부터 문자열을 뒤집어주며 최종적으로 () 없는 문자열을 반환하면 됩니다.
def reverseInParentheses(inputString):
input=inputString
for _ in range(inputString.count("(")):
start=input.rfind("(")
end=input[start:].find(")")
change=input[start + 1:start+end][::-1]
input=input[:start] + input[start + 1:start+end][::-1]+input[start+end+1:]
return input
안쪽에 있는 ()의 위치를 찾는게 먼저인데요, 왼쪽에서부터 )를, 오른쪽에서부터 (를 찾으면
안쪽 ( 와 ) 의 시작점을 찾아 start와 end에 저장했습니다.
이후 ()안의 문자열인 start + 1부터 start+end 까지의 반전한 문자열을 chage에 넣고,
input에 반전시킨 문자열을 넣어줍니다.
이 과정을 ( 의 수만큼 반복해주면 마지막에는 input이 모두 반전된 문자열로 바뀌어있으니
바로 반환해줍니다!
'알고리즘 > CodeSignal' 카테고리의 다른 글
| CodeSignal 15번 addBorder 문제풀이 (0) | 2020.01.21 |
|---|---|
| CodeSignal 14번 alternatingSums 문제풀이 (0) | 2020.01.21 |
| CodeSignal 12번 sortByHeight 문제풀이 (0) | 2020.01.20 |
| CodeSignal 11번 allLongestStrings 문제풀이 (0) | 2020.01.20 |
| CodeSignal 10번 commonCharacterCount 문제풀이 (0) | 2020.01.20 |