본문 바로가기

# Coding/# 백준

[백준 / 10422] 괄호 - Python

728x90
반응형

https://www.acmicpc.net/problem/10422

 

10422번: 괄호

‘(‘, ‘)’ 문자로만 이루어진 문자열을 괄호 문자열이라 한다. 올바른 괄호 문자열이란 다음과 같이 정의된다. ()는 올바른 괄호 문자열이다. S가 올바른 괄호 문자열이라면, (S)도 올바른 괄호

www.acmicpc.net

<풀이>

카탈란 수를 이용하여 풀었다.

 

괄호 문자열의 길이가 홀수이면 카탈란 수가 될 수 없다.

 

<전체 코드>

import math


def catalan(n):
    return math.factorial(2*n)//(math.factorial(n)*math.factorial(n+1))


for _ in range(int(input())):
    n = int(input())
    if n == 0:
        break
    if n % 2 == 1:
        print(0)
    else:
        print(catalan(n//2)%1000000007)
728x90
반응형