Coding Test
[프로그래머스] 괄호 변환
상상쓰
2021. 8. 21. 09:48
https://programmers.co.kr/learn/courses/30/lessons/60058
코딩테스트 연습 - 괄호 변환
카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를
programmers.co.kr
균형잡힌 괄호 문자열, c == 0
올바른 괄호 문자열, t = True
를 가지고 문제의 4단계를 재귀함수를 이용해 진행하면 된다.
def solution(p):
answer = ''
if p != '':
n = len(p)
c = 0
t = True
for i in range(n):
c = c + 1 if p[i] == '(' else c - 1
if c < 0: t = False
if c == 0:
if t:
return p[:i+1] + solution(p[i+1:])
else:
return '(' + solution(p[i+1:]) + ')' + ''.join(['(' if i == ')' else ')' for i in p[1:i]])
else:
return answer
print(solution('(()())()')) # (()())()