파스칼의 삼각형은 매우 유명한 문제이다.
이전 행의 두 숫자의 합이 현재 열의 값이 되는 문제임
각 열의 첫 번째와 마지막은 항상 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
};