[LeetCode] 118. Pascal's Triangle

Chobby·2025년 1월 8일
1

LeetCode

목록 보기
151/194

😎풀이

파스칼의 삼각형은 매우 유명한 문제이다.

이전 행의 두 숫자의 합이 현재 열의 값이 되는 문제임

각 열의 첫 번째와 마지막은 항상 1의 값을 갖고 있다는 점을 감안하여 열의 중앙에 위치한 값들을 순회하며 이전 행의 값을 통해 구해주면 됨

function generate(numRows: number): number[][] {
    // numRows 미리 선언
    const result = [[1]]
    // 행 반복
    for(let i = 1; i < numRows; i++) {
        // 첫 열은 반드시 1
        const row = [1]
        // 이전 행 가져옴
        const prev = result[i - 1]
        // 열 반복
        for(let j = 1; j < i; j++) {
            // 윗 행의 두 숫자의 합으로 현재 값 결정
            const current = prev[j - 1] + prev[j]
            row.push(current)
        }
        // 마지막 열은 반드시 1
        row.push(1)
        result.push(row)
    }

    return result
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글