본문 바로가기
프로그래밍언어/Code_Practice

[SW Expert Academy] 파스칼의 삼각형

by 스꼬맹이브로 2021. 1. 21.
728x90
반응형
SMALL

*문제의 저작권은 SW Expert에 있습니다.
문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5P0-h6Ak4DFAUq&categoryId=AV5P0-h6Ak4DFAUq&categoryType=CODE

 

version1. 파스칼의 삼각형 공식 사용

T = int(input())

def combination(n, r):
    c = int(math.factorial(n) / (math.factorial(r) * math.factorial(n - r)))
    return str(c)

for test_case in range(1, T + 1):
    result = int(input())
    a = []
    print("#{}".format(test_case))
    for i in range(0, result):
        a.append([])
        if i == 0:
            a[i].append(combination(i, 0))
        else:
            for j in range(0, i + 1):
                a[i].append(combination(i, j))
    for i in a:
        for j in i:
            print(j, end=" ")
        print()

version2. 배열만 사용

T = int(input())

for test_case in range(1, T + 1):
    result = int(input())
    a = []
    print("#{}".format(test_case))
    for i in range(0, result):
        a.append([])
        if i == 0:
            a[i].append(1)
        else:
            for j in range(0, i + 1):
                if j == 0 or j == i:
                    a[i].append(1)
                else:
                    a[i].append(a[i-1][j-1]+a[i-1][j])
    for i in a:
        for j in i:
            print(j, end=" ")
        print()
728x90
반응형
LIST