Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

JH 개발 블로그

괄호변환 파이썬 본문

코딩테스트/2020 KAKAO BLIND RECRUITMENT

괄호변환 파이썬

쿠우우훈 2022. 2. 5. 03:05
def make_u_v(s):
    cnt1 = cnt2 = 0
    for i in s:
        if i == '(':
            cnt1 += 1
        else:
            cnt2 += 1
        if cnt1 == cnt2: break
    return s[:cnt1 + cnt2], s[cnt1 + cnt2:]

def is_right(s):
    cnt1 = cnt2 = 0
    for i in s:
        if i == '(':
            cnt1 += 1
        else:
            cnt2 += 1
        if cnt2 > cnt1: return False
    return True

def solution(p):
    if p == '':
        return p
    answer = ''
    u, v = make_u_v(p)
    if is_right(u):
        answer += u
        answer += solution(v)
    else:
        answer += '(' + solution(v) + ')' + ''.join(')' if x == '(' else '(' for x in u[1:-1])
    return answer

 

u를 뒤집은거와 u[::-1]이 같을거라고 생각해버리는 오류를 범했다..

문제에서 구현 하라는대로만 구현 하면 되는 문제였다.

'코딩테스트 > 2020 KAKAO BLIND RECRUITMENT' 카테고리의 다른 글

외벽 점검 파이썬  (0) 2022.02.08
기둥과 보 설치 파이썬  (0) 2022.02.07
가사 검색  (0) 2022.02.06
자물쇠와 열쇠 파이썬  (0) 2022.02.05
문자열 압축 파이썬  (0) 2022.02.05
Comments