CodeSignal 13번 reverseInParentheses 문제풀이

2020. 1. 21. 17:19·알고리즘/CodeSignal

보기엔 간단한 문제입니다! 안쪽에있는 ()부터 문자열을 뒤집어주며 최종적으로 () 없는 문자열을 반환하면 됩니다.

 

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
'알고리즘/CodeSignal' 카테고리의 다른 글
  • CodeSignal 15번 addBorder 문제풀이
  • CodeSignal 14번 alternatingSums 문제풀이
  • CodeSignal 12번 sortByHeight 문제풀이
  • CodeSignal 11번 allLongestStrings 문제풀이
​​​​
​​​​
  • ​​​​
    개발 블로그
    ​​​​
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 오늘 배운것들
      • 프로젝트
        • NodeJs-유튜브 음질 뷰어
        • 직접 설계해본 ERD
        • URL 단축&방문수 분석 사이트
        • GPT로 영어 공부하기
      • 알고리즘
        • 백준
        • CodeSignal
        • 프로그래머스
      • JavaScript
        • Npm Modules
        • VanillaJS
        • NodeJS
      • CI&CD
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
​​​​
CodeSignal 13번 reverseInParentheses 문제풀이
상단으로

티스토리툴바