Fantastic Chu's World
[2020KAKAO][Python] 괄호 변환 본문
programmers.co.kr/learn/courses/30/lessons/60058
코딩테스트 연습 - 괄호 변환
카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴�
programmers.co.kr
# 올바른 괄호 문자열인지 판단
def check(p):
cnt = 0
for i in range(len(p)):
if p[i] == '(':
cnt += 1
else:
if cnt == 0: # 올바르면 마지막에 0이 된다
return False # 중간에 0이 되면 X
cnt -= 1
return True
# 균형잡힌 괄호 문자열의 인덱스 반환
def balance_index(p):
id = 0
for i in range(len(p)):
if p[i] == '(':
id += 1
else: id -= 1
if id == 0:
return i
def solution(p):
answer = ''
if p == '':
return answer
index = balance_index(p)
u = p[:index+1]
v = p[index+1:]
if check(u):
answer = u + solution(v)
else:
answer += '('
answer += solution(v)
answer += ')'
u = list(u[1:-1])
for i in range(len(u)):
if u[i] == '(':
u[i] = ')'
else:
u[i] = '('
answer += ''.join(u)
return answer
조건대로만 짜면 되는 문제
* 리스트 -> 문자열 : "구분자".join(리스트)
* 문자열 -> 리스트 : .split("구분자")
'Python > 구현' 카테고리의 다른 글
[2020KAKAO][Python] 자물쇠와 열쇠 (구현, 완전탐색) (0) | 2020.09.12 |
---|---|
[2020KAKAO][Python] 기둥과 보 설치 (0) | 2020.09.12 |
[2020KAKAO][Python] 문자열 압축 (0) | 2020.09.12 |
[백준][Python] 2846번 : 오르막 길 (0) | 2020.09.09 |
[백준][Python] 15686번 : 치킨 배달 (0) | 2020.09.09 |
Comments