Head vs breakz
[code] - 카카오 괄호변환 python 본문
# 괄호변환
def solution(p):
if p =="":
return ""
elif len(p) % 2 == 0:
qq = div_val(p,point_val(p))
return qq
def point_val(p):
a = 0
count = 1
q = list(p)
for i in range(len(q)):
if q[i]=="(":
count +=2
if count == 1:
a = i
break
elif q[i]==")":
count -=2
if count == 1:
a = i
break
return a
def div_val(p,a):
count = []
q = list(p)
u =q[:a+1]
v =p[a+1:]
if check_val(u) ==True :
return p[:a+1]+solution(v)
else :
v = "("+solution(v)+")"
u =u[1:-1]
for i in range(len(u)):
if u[i]=="(":
u[i] = ")"
elif u[i] ==")":
u[i]= "("
u="".join(u)
answer = v + u
return answer
def check_val(u):
count=[]
for i in range(len(u)):
if u[i] == "(":
count.append(u[i])
elif u[i] == ")" :
if len(count) == 0:
return False
else :
count.pop()
if len(count) != 0 :
return False
else :
return True
point_div는 처음 받은 문자열을 나눌 지점을 찾는 함수
div_val은 나눈 문자열을 처리하는 함수
check_val은 나눈 문자열이 균형잡히고,올바른 문자열인지 확인하는 함수
'Head > Code' 카테고리의 다른 글
[code] - 카카오 튜플 python (0) | 2020.05.05 |
---|---|
[code] - 카카오 n진수 게임 python (0) | 2020.05.04 |
[code] - 카카오 호텔 방 배정 python (0) | 2020.05.02 |
[code] - 카카오 크레인 인형뽑기 python (0) | 2020.05.02 |
[code] - 이미지에서 글씨 찾기 구글 API / windows에서 (0) | 2020.04.20 |
Comments