SWEA(Python) 풀이/D2

SWEA[D2] (Python) 2005번 파스칼의 삼각형 풀이

개발윗미 2022. 4. 27. 16:35

Python으로 구현한 2005번 파스칼의 삼각형 문제 풀이입니다.

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5P0-h6Ak4DFAUq&categoryId=AV5P0-h6Ak4DFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=2&pageSize=10&pageIndex=1 

 

SW Expert Academy

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

swexpertacademy.com


t = int(input())

for tc in range(1, t + 1) :
    n = int(input())
    board = [[0] * n for _ in range(n)]
    for i in range(n) :
        board[i][0] = 1

    for i in range(1, n) :
        for j in range(1, n) :
            board[i][j] = board[i-1][j-1] + board[i-1][j]

    print('#%d' % tc)
    for i in range(n) :
        for j in range(n) :
            if board[i][j] != 0 :
                print(board[i][j], end=' ')
        print()

 

1. 각 테스트 케이스마다 N x N 크기의 board 리스트를 정의하고 모든 행의 0번째 요소를 1로 갱신한다.

 

2. board 리스트의 1번째 행, 1번째 열부터 해당 인덱스의 값을 왼쪽 대각선 위(board[i-1][j-1])와 위(board[i-1][j])에 존재하는 값의 합으로 갱신한다.

 

3. board 리스트의 요소를 하나씩 출력하는데 해당 위치의 값이 0이 아닐 경우에만 값을 출력하고 한 행에 대한 작업이 끝나면 줄바꿈을 수행한다.