여름의 서재

[SWEA] 2005_파스칼의 삼각형 본문

알고리즘/SWEA

[SWEA] 2005_파스칼의 삼각형

엉아_ 2021. 8. 18. 13:44
728x90

📕 문제

크기가 N인 파스칼의 삼각형을 만들어야 한다.
파스칼의 삼각형이란 아래와 같은 규칙을 따른다.
1. 첫 번째 줄은 항상 숫자 1이다.
2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.
N이 4일 경우,


N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오.

 

# 동적계획법 이용 # 메모이제이션 이용

def pascal_triangle(n):
    pascal = [[1]]

    for i in range(1, n):
        lst = [1]
        m = 0
        while m+1 < len(pascal[i-1]):
            lst.append(pascal[i-1][m]+pascal[i-1][m+1])
            m += 1
        lst.append(1)
        pascal.append(lst)

    return pascal
    
T = int(input())
for tc in range(T):
    n = int(input())
    triangle = pascal_triangle(n)
    print('#{}'.format(tc+1))
    for i in range(n):
        print(*triangle[i])

'알고리즘 > SWEA' 카테고리의 다른 글

[SWEA] 1219_길찾기 (DFS 이용)  (0) 2021.08.19
[SWEA] 4869_종이붙이기 (DP 이용)  (0) 2021.08.18
[SWEA] 1216_회문2  (0) 2021.08.17
[SWEA] 3143_가장 빠른 문자열 타이핑  (0) 2021.08.17
[SWEA] 5432_쇠막대기 자르기  (0) 2021.08.17
Comments