흙금이네 블로그

[BOJ] 15489 - 파스칼 삼각형 (Python, JavaScript) 본문

알고리즘

[BOJ] 15489 - 파스칼 삼각형 (Python, JavaScript)

흙금 2023. 5. 28. 18:20

 

 

아이디어

 

DP로 파스칼 삼각형의 수들을 구하고 입력으로 주어지는 삼각형 내부에 있는 수의 합을 구한다.

 

 

풀이 #1 (Python)

 

def solution():
    R, C, W = map(int, input().split())
    pt = [[0]*30 for _ in range(30)]
    pt[1][1] = 1
    for i in range(2, 30):
        for j in range(1, i+1):
            pt[i][j] = pt[i-1][j-1]+pt[i-1][j]
    res = 0
    for d in range(W):
        for j in range(C, C+d+1):
            res += pt[R+d][j]
    print(res)

solution()

 

 

 

풀이 #2 (JavaScript)

 

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

function solution() {
    const [R, C, W] = input[0].split(' ').map(Number);
    let pt = Array.from(Array(30), () => Array(30).fill(0));
    pt[1][1] = 1;
    for (let i=2; i<30; i++) {
        for (let j=1; j<=i; j++) {
            pt[i][j] = pt[i-1][j-1]+pt[i-1][j];
        }
    }
    let res = 0;
    for (let d=0; d<W; d++) {
        for (let j=C; j<=C+d; j++) {
            res += pt[R+d][j];
        }
    }
    console.log(res);
}

solution();

 

Comments