작심삼일

[LeetCode] 118 | Pascal's Trigangle | Python 본문

스터디/코테

[LeetCode] 118 | Pascal's Trigangle | Python

yun_s 2022. 7. 19. 09:37
728x90
반응형

문제 링크: https://leetcode.com/problems/pascals-triangle/


문제

Given an integer numRows, return the first numRows of Pascal's triangle.

In Pascal's triangle, each number is the sum of the two numbers directly above it as shown:


조건

  • 1 <= numRows <= 30

내 풀이

첫번째줄은 [1]로 고정이니 n의 범위는 1부터 numRows까지로 한다.

한 줄에서 맨 처음과 맨 끝은 1로 고정이기 때문에 m의 범위는 n-1로 하고, m에 대한 for문이 끝났을 때 nextRow의 끝에 1을 붙인다.

nextRow를 ans에 추가하면 된다.


코드

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        ans = [[1]]
        
        for n in range(1, numRows):
            nextRow = [1]
            
            for m in range(n-1):
                nextRow.append(ans[n-1][m]+ans[n-1][m+1])
            
            nextRow.append(1)
            ans.append(nextRow)
            
        return ans
728x90
반응형
Comments