문제
크기가 N인 파스칼의 삼각형을 만들어야 한다.
파스칼의 삼각형이란 아래와 같은 규칙을 따른다.
1. 첫 번째 줄은 항상 숫자 1이다.
2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.
N이 4일 경우,
N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오.
[제약 사항]
파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10)
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스에는 N이 주어진다.
접근방식
테스트 케이스를 반복할 때마다 ans_arr를 빈 배열로 선언
입력받은 숫자 N만큼 for문을 돌면서 ans_arr에 먼저 빈 배열 할당
그리고 k를 인수로 N만큼 for문을 돌면서 k == 0 이거나 j-1이면 ans_arr에 1 할당(인덱스가 0, 마지막일 때)
그 외의 경우에 해당 값에서 왼쪽, 오른쪽 위의 값을 ans_arr에 할당
코드
T = int(input())
for i in range(1, T+1):
N = int(input())
ans_arr = []
for j in range(1, N+1):
ans_arr.append([])
for k in range(j):
if k == 0 or k == j-1:
ans_arr[j-1].append(1)
else:
ans_arr[j-1].append(ans_arr[j-2][k-1] + ans_arr[j-2][k])
print('#'+str(i))
for ans in ans_arr:
print(*(ans), end=' ')
print()
'CodingTest' 카테고리의 다른 글
SWEA - Flatten(1208) (1) | 2023.10.28 |
---|---|
SWEA - 숫자 배열 회전(1961) (1) | 2023.10.27 |
SWEA - 쉬운 거스름돈(1970) (1) | 2023.10.27 |
SWEA - 간단한 압축풀기(1946) (0) | 2023.10.25 |
SWEA - 두 개의 숫자열(1959) (0) | 2023.10.25 |