문제링크

 

풀이

T = int(input())
for test in range(1, T+1):
    print(f"#{test}")
    row = int(input())
    arr = [[0] * row for _ in range(row)]
    for i in range(row):
        for j in range(row):
            if j==0 or i==j:
                arr[i][j] = 1
            else:
                arr[i][j] = arr[i-1][j-1] + arr[i-1][j]
    for i in range(row):
        for j in range(i+1):
            print(arr[i][j], end=' ')
        print()

입력받은 크기만큼 정방향 2차원 배열을 생성한다.

i = 0, i == j는 1로 삽입된다. 그 외에는 왼쪽 위, 오른쪽 위의 요소를 합한 값을 삽입한다.

출력 시 i==j인 부분까지만 출력한다.