본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]16395번 파스칼의 삼각형

by 현장 2021. 7. 28.

-코드

n, k = map(int, input().split())
arr = [[1 for _ in range(i)] for i in range(1, n + 1)]
for i in range(2, n):
    for j in range(1, i):
        arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]
print(arr[n - 1][k - 1])

파스칼의 삼각형을 만들기위해 arr[i][0]과 arr[i][i]가 1이어야 하므로 주어진 범위를 모두 1로 만들기 위해 arr을 n값에 따라 1로 초기화하는 법을 햍갈려서 찾아서 해결하였고 2번째 줄부터 수식이 적용되야 하므로 범위를 2<= i <= n로 하고 j는 i번째 줄의 1번째값과 마지막 값은 1이어야 하므로 2번째 값부터 적용해야 하므로 1 <= j <= i - 1로 하여   범위를 지정하고 파스칼의 삼각형 공식은 아래 수식이므로 값을 입력하여 해결하였습니다.

 

출처:https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%8A%A4%EC%B9%BC%EC%9D%98_%EC%82%BC%EA%B0%81%ED%98%95