본문 바로가기
이론/Python

mail_programming - 3주차 : 괄호 조합 구하기

by 유세지 2018. 4. 14.


쉬운듯 복잡한듯... 방법은 간단했다.


left(왼쪽괄호) right(오른쪽괄호) 의 개수를 하나씩 줄여가며 재귀함수를 실행시키고,

마지막엔 decode 함수를 불러와 프린트한다.


파이썬 짱 쉽고 간편하다 최고 인생은 짧으니 파이썬을 쓰도록 하자 야호



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
def parenthesis(left, right, code):
    if code == None:
        code = 1
        parenthesis(left-1, right, code)
    else:
        if left != 0:
            if left < right:
                code *= 10
                parenthesis(left-1, right, code+1)
                parenthesis(left, right-1, code)
            elif left == right:
                code *= 10
                parenthesis(left-1, right, code+1)
        elif right != 0:
            code *= 10
            parenthesis(left, right-1, code)
        else:
            decode(code)
 
def decode(code):
    while(code != 0):
        if (code % 10== 1:
            print(')', end=' ')
        elif (code % 10== 0:
            print('(', end=' ')
        code = code // 10
    print('')
 
count = int(input("정수를 입력하세요 : "))
parenthesis(count, count, None)
cs



아래는 결과창



반응형

댓글