본문 바로가기
CodingTest

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

by 취업하고싶다! 2023. 10. 27.
 

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