CodingTest

SWEA - 파스칼의 삼각형(2005)

취업하고싶다! 2023. 10. 27. 17:29
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

문제

크기가 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